Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: FerJGS en 29 Agosto 2015, 17:28 pm



Título: fgets sólo me lee 3 caracteres
Publicado por: FerJGS en 29 Agosto 2015, 17:28 pm
Hola amigos. Estoy intentando leer cadenas de texto de un archivo. A otra gente le funciona pero a mí sólo me lee 3 caracteres. ¿Alguien me puede ayudar? Muchas gracias

Citar
int LINEA_MAX = 1000;
char linea[LINEA_MAX];
if (fp==NULL)
{
perror ("Error al abrir fichero.txt\n\n");
return -1;
}
else{
printf("Archivo abierto\n\n");
}

while (fgets(linea,LINEA_MAX,fp) != NULL)
{
printf("Abriendo: %s\n", linea);
ShellExecute(NULL,"open",linea, NULL, NULL, SW_SHOWNORMAL);
Sleep(1500);
}
printf("\nCerrando archivo...\n");
fclose(fp);
printf("Archivo cerrado\n");
return 0;
}


Título: Re: fgets sólo me lee 3 caracteres
Publicado por: ivancea96 en 29 Agosto 2015, 23:36 pm
fgets lee hasta que haya un salto de linea o hasta que se acabe el archivo.
¿Qué datos tienes en el archivo?


Título: Re: fgets sólo me lee 3 caracteres
Publicado por: furciorifa en 6 Septiembre 2015, 23:28 pm
Estas leyendo la entrada desde el teclado entonces es
Código
  1. fgets(linea,LINEA_MAX,stdin)