La Red de Conocimientos Pedagógicos - Currículum vitae - Leer archivos CSV usando lenguaje c

Leer archivos CSV usando lenguaje c

Al depurar, puede encontrar que en el primer ciclo, se ejecuta YY = atof(STT[7]); y el valor de stt[7] cambia repentinamente. En el segundo ciclo, solo se ejecuta hx = atof(. [6]); Stt[6] también ha sido cambiado.

Creo que el problema es que strtok no es seguro y la matriz de cadenas que genera puede ser modificada por otros subprocesos.

Te sugiero que uses sscanf para leer los números en la cadena, por ejemplo:

#Contains " string.h "

#Contains "math.h ”

void main()

{

ARCHIVO * fp/*Definir un puntero de archivo*/

Doble sx, yw, wl, hx, YY;

int I;

char str[81];

Puntuación doble[5]; = yw = wl = hx = YY = 0;

Fp=fopen("Tabla de puntuación. csv", "Rb" /*Abrir archivo de solo lectura*/

); for(I = 0;!feof(FP);i )

{

fscanf(fp, " s\n ", str

sscanf); (str 17, "lf, lf, lf, lf", puntuación, puntuación 1, puntuación 2, puntuación 3, puntuación 4)

sx = puntuación[0]; yw = puntuación[1];

wl = puntuación[2];

hx = puntuación[3];

YY = puntuación[4];

}

printf("f, f, f, f, f, f\n ", sx, yw, wl, hx, YY

); fclose(FP);

}