int main()
{
FILE *fp;
int testNumber;
char answerKey[5];
fp = fopen("test.txt", "r");
for(int i=0; i<4; i++)
{
fscanf(fp, "%s %d\n", answerKey, &testNumber);
printf("%s %d\n", answerKey, testNumber);
}
return 0;
}
我正在读取包含以下内容的文件:
dbac 10
达巴克8
dcbdc 1
dbac 5
我的输出是这样的:
dbac
10
大巴8
dcbdc 1
dbac 5
为什么第一行读错了?为什么多了下一行?
如有任何帮助,我们将不胜感激
最佳答案
answerKey
不够长。要容纳 5 个字符和一个终止字符串,需要将其定义为至少包含 6 个字符的数组:
char answerKey[6];
关于c - 从文件读取但读取的第一行是错误的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22728220/