我有以下功能:
void writeResults(FILE* fp, FILE* fpw, Vector w, int size) {
Vector x;
while (1) {
char line[MAX_DIMENSION]; //max dimension is 200
if( (fgets(line,MAX_DIMENSION,fp)) == NULL) { //EOF
return;
}
else {
int i=0;
while (line[i]!='\0') {
printf("% d %c\n",i,line[i]); //print to check it
i++;
}
}
}
}
它读取的文件行是:
1,1
2,2
但是,当我打印每个字符直到 '\0' 我得到这个输出:
0 1
1 ,
2 1
3
4
0 2
1 ,
2 2
3
4
有没有人知道为什么它会读取额外的 3 和 4 个字符?(文件中没有多余的空格)。
注意:文件是通过以下方式打开的:
FILE* fp = fopen(fileIn, "r");
if (fp == NULL) {
perror("Couldn't open File");
exit(errno);
}