Leer salto de linea
Bueno este es mi problema tengo esto:
#define ENTER 64
linea=-1;
do
{
linea++;
columna=0;
do
{
caracter=fgetc(archivo);
if(caracter==ENTER)
printf("Enter");
else
printf("%c",caracter);
texto[linea][columna]=caracter;
columna++;
}while(caracter!=ENTER || caracter!=feof(archivo));
}while(caracter!=feof(archivo));
Como verán se trata de un sencillo código que tiene como función el leer un archivo y almacenar dentro de un array todos los carácteres que encuentre allà dependiendo del no. de lÃnea que lea se modificara 'linea', y dependiendo de cuantos carácteres haya en esa linea se modificara 'columna' dentro del array texto.
Ahora mi pregunta es por que no reconoce el ENTER o salto de lÃnea ya que me escribe todo lo que hay en el archivo de corrido y tan poco me reconoce el final del archivo; qué me sugieren hacer?.
Gracias de antemano.
#define ENTER 64
linea=-1;
do
{
linea++;
columna=0;
do
{
caracter=fgetc(archivo);
if(caracter==ENTER)
printf("Enter");
else
printf("%c",caracter);
texto[linea][columna]=caracter;
columna++;
}while(caracter!=ENTER || caracter!=feof(archivo));
}while(caracter!=feof(archivo));
Como verán se trata de un sencillo código que tiene como función el leer un archivo y almacenar dentro de un array todos los carácteres que encuentre allà dependiendo del no. de lÃnea que lea se modificara 'linea', y dependiendo de cuantos carácteres haya en esa linea se modificara 'columna' dentro del array texto.
Ahora mi pregunta es por que no reconoce el ENTER o salto de lÃnea ya que me escribe todo lo que hay en el archivo de corrido y tan poco me reconoce el final del archivo; qué me sugieren hacer?.
Gracias de antemano.
Primero en ves de #define ENTER 64 ponle 13 y en el fin de archivo solo ponle
! feof(archivo) entonces te quedaria asi:
linea=-1;
do
{
linea++;
columna=0;
do
{
caracter=fgetc(archivo);
if(caracter==13)
printf("Enter");
else
printf("%c",caracter);
texto[linea][columna]=caracter;
columna++;
}while(caracter!=13 || ! feof(archivo));
}while(! feof(archivo));
si no da resultado escribeme para ver otra solucion, suerte
! feof(archivo) entonces te quedaria asi:
linea=-1;
do
{
linea++;
columna=0;
do
{
caracter=fgetc(archivo);
if(caracter==13)
printf("Enter");
else
printf("%c",caracter);
texto[linea][columna]=caracter;
columna++;
}while(caracter!=13 || ! feof(archivo));
}while(! feof(archivo));
si no da resultado escribeme para ver otra solucion, suerte
linea=-1;
do
{
linea++;
columna=0;
do
{
caracter=fgetc(archivo);
if(caracter=='n')
printf("Enter");
else
printf("%c",caracter);
texto[linea][columna]=caracter;
columna++;
}while(caracter!='n' || caracter!=feof(archivo));
}while(caracter!=feof(archivo));
A ver si asi, supongo que no pero por probar...
do
{
linea++;
columna=0;
do
{
caracter=fgetc(archivo);
if(caracter=='n')
printf("Enter");
else
printf("%c",caracter);
texto[linea][columna]=caracter;
columna++;
}while(caracter!='n' || caracter!=feof(archivo));
}while(caracter!=feof(archivo));
A ver si asi, supongo que no pero por probar...