SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: DanielFB93 en Domingo 8 de Abril de 2012, 15:12

Título: [Problema] Imprimir un salto de línea en un fichero
Publicado por: DanielFB93 en Domingo 8 de Abril de 2012, 15:12
Buenas, escribo para consultar una pequeña duda que me ha surgido. Estoy haciendo un programa (sin una finalidad útil, tan solo para practicar), que imprime algo parecido a un diagrama de barras según los números que se encuentran en un fichero de texto. Por ejemplo, si en el fichero pone 3 4 5 imprime tres barras: una con tres astediscos, otra debajo con 4, etc.

El problema es que estos astediscos se imprimen sin saltos de línea aún escribiendo el orden siguiente:
Código: [Seleccionar]
fprintf(f2,"\n");
De esta manera, al abrir el archivo veo una gran línea de astediscos. He buscado información pero no doy con la solución. Espero que puedan ayudarme.

Gracias de antemano.
Título: Re:[Problema] Imprimir un salto de línea en un fichero
Publicado por: DanielFB93 en Lunes 23 de Abril de 2012, 19:31
Al final lo he "solucionado". El problema es el editor de texto (el archiconocido Bloc de notas) que no me ponía los saltos de línea. Ahora probé con Notepad++ y perfecto.

Gracias.
Título: Re:[Problema] Imprimir un salto de línea en un fichero
Publicado por: su - en Lunes 23 de Abril de 2012, 22:26
Citar
Al final lo he "solucionado". El problema es el editor de texto (el archiconocido Bloc de notas) que no me ponía los saltos de línea. Ahora probé con Notepad++ y perfecto.

Gracias.
Entonces el problema esta en que aparentemente la libreria C que esta usando interpreta el fin de linea ("\n") como el caracter 0x0A (10 en decimal) pero el problema es que Windows usa 0x0D0A (13 y 10 o "\r\n" en UNIX) como fin de linea.

Eso lo podes comprobar con un editor hexadecimal, si es el caso seria mejor que usaras "\r\n" como fin de linea para seguir con el estandar de Windows
Título: Re:[Problema] Imprimir un salto de línea en un fichero
Publicado por: DanielFB93 en Martes 24 de Abril de 2012, 21:43
Citar
Al final lo he "solucionado". El problema es el editor de texto (el archiconocido Bloc de notas) que no me ponía los saltos de línea. Ahora probé con Notepad++ y perfecto.

Gracias.
Entonces el problema esta en que aparentemente la libreria C que esta usando interpreta el fin de linea ("\n") como el caracter 0x0A (10 en decimal) pero el problema es que Windows usa 0x0D0A (13 y 10 o "\r\n" en UNIX) como fin de linea.

Eso lo podes comprobar con un editor hexadecimal, si es el caso seria mejor que usaras "\r\n" como fin de linea para seguir con el estandar de Windows

De acuerdo. ¡Muchísimas gracias por decirme el porqué de la situación!

Un saludo.
Título: Re:[Problema] Imprimir un salto de línea en un fichero
Publicado por: su - en Miércoles 25 de Abril de 2012, 04:07
De nada :)