1
« en: Miércoles 24 de Noviembre de 2010, 16:28 »
Hola a todos, estoy con un problema tratando de armar una funcion que tome los datos de un archivo de texto y los procese.
Yo tengo un archivo de texto que tiene datos cada dato esta separado por comas (,) yo necesito leer la linea separa cada dato convertirlo y guardarlo, mi problema surge a partir del parseo cuando parseo las lineas y las muestro divididas por coma por pantalla me devuelve esto:
asi seria el achivo de texto:
-34.676, -58.32, Buenos Aires, 4000000, 45.45, 88.1
-33.13, -68.56, Mendoza, 112900, 47.20, 79.0
asi me devuelve por pantalla:
-34.676
-58.32
Buenos Aires
4000000
45.45
88.1
-33.13
-68.56
Mendoza
112900
47.20
79.0
-33.13
Osea me repite el primer dato de la ultima linea que leyo.
Aca les dejo el codigo
Desde ya Muchas Gracias
int main()
{
char linea[255];
char s2[3] = ",";
char *ptr;
FILE *f;
char* check;
/*printf( "linea=%sn", linea );*/
f = fopen("datos.txt","r");
do
{
check = fgets(linea, 255, f);
ptr = strtok( linea, s2 );
printf( "%sn", ptr );
while( (ptr = strtok( NULL, s2 )) != NULL )
printf( "%sn", ptr );
} while ( check != NULL);
return 0;
}