我正在从文件扫描到并行数组。
我成功扫描了字符串,但是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/