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
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Matlab - Guardar cadenas de caracteres con salto en un txt

  Imprimir  
Vista:

Guardar cadenas de caracteres con salto en un txt

Publicado por Fernando (6 intervenciones) el 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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Guardar cadenas de caracteres con salto en un t

Publicado por Carlos (5 intervenciones) el 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!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar cadenas de caracteres con salto en un t

Publicado por Fernando (6 intervenciones) el 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.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar cadenas de caracteres con salto en un t

Publicado por Carlos (5 intervenciones) el 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.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Guardar cadenas de caracteres con salto en un t

Publicado por Fernando (6 intervenciones) el 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.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar