私は次の機能を持っています:
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);
}