EJ:
Juanito,Perez,15,Cancer,Si,5,Si,21.01.2012,Si
Anita,Lava,1,Resfrio,No,5,Si,01.01.2011,No
Código:
#include <stdlib.h>
#include <stdio.h>
int cargarTXT()
{
FILE *fichero;
char nombre[30];
system("cls");//Se borra la pantalla
printf("\n\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176);
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176);
printf("\n\t\t%c %c",176,176);
printf("\n\t\t%c %c",176,176);
printf("\n\t\t%c Ingrese Nombre Del Fichero A Cargar: %c",176,176);
printf("\n\t\t%c %c",176,176);
printf("\n\t\t%c %c",176,176);
printf("\n\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176);
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176);
printf("\n\n");
scanf("\t\t\t\t\t\t%s",nombre);
fichero = fopen(nombre,"r");
if (fichero == NULL){
printf("No Se Pudo Abrir El Fichero");
return 0;
}
char *ptrToken; //Variable que permite guardar dato entre las comas
int i=0;
int j=0;
char lineas[800];
char dato[8][8000];
while( !feof(fichero) ) //En caso de leerlo y hasta no llegar al final se ahce esto
{
fscanf( fichero, "%s",lineas);
ptrToken = strtok(lineas, "," ); //Se re-lee la linea hasta encontrar una ',' y se guarda lo leido
i=0;
while ( ptrToken != NULL ) //Si lo leido hasta una , no es nulo o no hay nada
{
strcpy(dato[i],ptrToken);
i++; //Se aumenta el auxiliar i
ptrToken = strtok(NULL, "," ); //Se obtiene el siguiente token y se sigue en el while
}
}
menu();
fclose(fichero);
}
#include <stdio.h>
int cargarTXT()
{
FILE *fichero;
char nombre[30];
system("cls");//Se borra la pantalla
printf("\n\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176);
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176);
printf("\n\t\t%c %c",176,176);
printf("\n\t\t%c %c",176,176);
printf("\n\t\t%c Ingrese Nombre Del Fichero A Cargar: %c",176,176);
printf("\n\t\t%c %c",176,176);
printf("\n\t\t%c %c",176,176);
printf("\n\t\t%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176);
printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176);
printf("\n\n");
scanf("\t\t\t\t\t\t%s",nombre);
fichero = fopen(nombre,"r");
if (fichero == NULL){
printf("No Se Pudo Abrir El Fichero");
return 0;
}
char *ptrToken; //Variable que permite guardar dato entre las comas
int i=0;
int j=0;
char lineas[800];
char dato[8][8000];
while( !feof(fichero) ) //En caso de leerlo y hasta no llegar al final se ahce esto
{
fscanf( fichero, "%s",lineas);
ptrToken = strtok(lineas, "," ); //Se re-lee la linea hasta encontrar una ',' y se guarda lo leido
i=0;
while ( ptrToken != NULL ) //Si lo leido hasta una , no es nulo o no hay nada
{
strcpy(dato[i],ptrToken);
i++; //Se aumenta el auxiliar i
ptrToken = strtok(NULL, "," ); //Se obtiene el siguiente token y se sigue en el while
}
}
menu();
fclose(fichero);
}
El problema es que al imprimir los datos lee el ultimo dato de la ultima linea nuevamente, y no se por que.... con una linea funciona.. con 2 no










Autor


En línea
