Bueno.... voy a desempolvar mis conocimientos de C. Vamos al tema (hay que incluir el fichero de cabecera stdio.h, que el editor no me deja ponerlo):
/* Programa para leer palabras */
/* Para BandaAncha.eu */
/* Por Nacho Legido (djnacho) */
/* OpenSource completo */
char *lee_palabra(FILE *fichero);
char *lee_palabra(FILE *fichero)
{
char buffer[30]; /* Cada palabra, de 30 caracteres como máximo */
fgets(buffer,31,fichero); /* Se lee la palabra mediante fgets, se guarda en buffer, 30 caracteres como máximo, del tipo FILE* fichero */
return buffer; /* Devuelve la cadena de caracteres que corresponde a la palabra+caracter de fin de linea */
}
void main(void)
{
FILE *fic; /* Variable que permite abrir y cerrar un fichero */
char palabra[30]; /* Variable que guardará cada palabra */
fic = fopen("miarchivo.txt","r"); /* Abre el archivo miarchivo.txt para lectura de texto */
while (feof(fic)==0)
{
palabra=lee_palabra(fic); /* Llama a la función lee_palabra, que nos lee una palabra del fichero */
printf("%s\n",palabra); /* Imprimimos la palabra en cuestión en pantalla. Se imprime palabra+caracter nueva linea */
}
printf("\nFin del programa.");
fclose(fic);
}
Habría que mirar bien algunas cosas, ya que el código lo acabo de hacer deprisa y corriendo, pero creo que como ejemplo, te podría servir (al igual que el de rwx)
Un saludo :)
PD: La función fgets, va a leer hasta que se lean n-1 caracteres, o hasta que lea el caracter de nueva linea (ahí está el truco que utilizo en mi código, lee 30 caracteres, o antes llega el fin de linea, suponiendo que cada linea tenga menos de 30 caracteres, por eso leo 31 caracteres con fgets).