我正在从文件扫描到并行数组。
我成功扫描了字符串,但是int和floats不能正确扫描!
这是怎么了?
Num,human和cool是在主函数中声明的数组。

hello.txt中的记录示例:
Angela, Merkel, 50, 10, 9.1

void read(int *lines, char first[ENTRY][FIRST], char last[ENTRY][LAST], int *num, int *human, float *cool)
{
FILE *ifile;
int i;

ifile = fopen("hello.txt", "r");

fscanf(ifile, "%[^,] %*c %[^,] %*c %d %*c %d %*c %f", first[0], last[0], &num[0], &human[0], &cool[0]);

printf("%s", first[0]);
printf("%s\n", last[0]);
printf("%d\n", num[0]);
printf("%d\n", human[0]);
printf("%f", cool[0]);



fclose(ifile);
}

最佳答案

尝试

fscanf(ifile, "%[^,] %*c %[^,] %*c %d %*c %d %*c %f", first[0], last[0], num, human, cool);

关于c - 将字符串和整数从文件扫描到C中的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37159656/

10-11 15:25