Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Crear cuenta

Matlab - Guardar cadenas de caracteres con salto en un txt

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:Guardar cadenas de caracteres con salto en un txt
Autor:Fernando (6 intervenciones)
Fecha:16/04/2010 16:55:12
Hola gente, os comento el problemilla ...

Necesito guardar la salida de un programa con salto de linea cada vez q se ejecute en un archivo txt (en este caso una cadena de caracteres).
Las cadenas resultantes de las ejecuciónes del programa se deben ir guardando secuencialmente con salto de linea en el mismo fichero.

Problema: me las guarda pero sin salto de linea, una detrás de otra.

Supongamos que ejecuto el programa la primera vez y resulta la cadena:
a='La vida es bella \n.';

Escribo la primera salida en el fichero:
fid=fopen('pruebas.txt','a');
fprintf(fid,a)
fclose(fid);

Supongamos que ejecuto por segunda vez el programa y resulta la cadena:
b='Y mas q lo va a ser \n';

Escribo la segunda salida en el fichero:
fid=fopen('pruebas.txt','a');
fprintf(fid,b)
fclose(fid);

Se guardan una cadena detrás de la otra y no con salto de linea q es lo q yo necesito.

Aquí dejo el Script completo:
a='\n La vida es bella.';
fid=fopen('pruebas.txt','a');
fprintf(fid,a)
fclose(fid);

b='Y mas q lo va a ser \n';
fid=fopen('pruebas.txt','a');
fprintf(fid,b)
fclose(fid);

Si alguien me pudiera ayudar se lo agradecería mucho. Perdón por el tostón.
Saludos y gracias por adelantado
Responder Subir
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:Guardar cadenas de caracteres con salto en un t
Autor:Carlos (5 intervenciones)
Fecha:17/04/2010 17:27:54
Compadre, estube revisando tu codigo, y lo pude arreglar, revisa este q te envio:

a='La vida es bella.';
fid=fopen('prueba.txt','wt');
fprintf(fid,a)
fprintf(fid,'\n')
b='Y mas q lo va a ser';
fprintf(fid,b)
fclose(fid);

tienes q abrir solo 1 ves el archivo, con permiso: 'wt' para poder escribir texto bien, bueno eso fue lo que me funciono a mi, y ademas para q sea mas efectivo coloque los saltos de lineas independientes del texto.

espero que te sirva, me comentas como te fue. suerte!
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:Guardar cadenas de caracteres con salto en un t
Autor:Fernando (6 intervenciones)
Fecha:19/04/2010 01:20:21
Antes de nada, gracis por responder ...

El código que has puesto soluciona el problema de los saltos de línea ... lo q pasa que yo tengo q abrir, escribir y cerrar el fichero varias veces. Si pones 'wt' en vez de 'a' en la función fopen te sobreescirbe lo que ya tenías guardado. Yo necesito q me conserve lo que ya contenía el archivo y que me añada en otra línea la nueva información.

Si pones el siguiente código verás lo q digo:

a='La vida es bella.';
fid=fopen('prueba.txt','wt');
fprintf(fid,a)
fprintf(fid,'\n')
b='Y mas q lo va a ser';
fprintf(fid,b)
fclose(fid);

a='Segunda Vez';
fid=fopen('prueba.txt','wt');
fprintf(fid,a)
fprintf(fid,'\n')
b='Segunda Vez.Y mas q lo va a ser';
fprintf(fid,b)
fclose(fid);

Gracias. Saludos.
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:Guardar cadenas de caracteres con salto en un t
Autor:Carlos (5 intervenciones)
Fecha:19/04/2010 05:15:49
ok, ya te entiendo, bueno con lo de 'a' en vez de 'wt' puedes agregar lo que necesites, ahora, te recomiendo que cada vez que abras el documento agregues un salto de linea como te dije antes, podria ser asi:

a='La vida es bella.';
fid=fopen('prueba.txt','a')
fprintf(fid,'\n') ; %salto de linea agregado antes de escribir
fprintf(fid,a) ;
fprintf(fid,'\n');
b='Y mas q lo va a ser';
fprintf(fid,b) ;
fclose(fid);

a='Segunda Vez';
fid=fopen('prueba.txt','a')
fprintf(fid,'\n') ; %salto de linea agregado antes de escribir
fprintf(fid,a) ;
fprintf(fid,'\n') ;
b='Segunda Vez.Y mas q lo va a ser';
fprintf(fid,b) ;
fclose(fid);

espero que esto resuelva tus dudas.
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:RE:Guardar cadenas de caracteres con salto en un t
Autor:Fernando (6 intervenciones)
Fecha:19/04/2010 10:37:01
OK!

Si abro con el editor de Matlab si se representan los datos adecuadamente.

El inconveniente lo tengo cuando abro el fichero txt directamente con el Bloc de Notas de Windos Vista.

A partir de ahora trabajaré con el editor de Matlab q intrepreta los saltos de linea.

Muchas gracias por la ayuda.

Saludos.
Comentar Subir