int k;
char string[100];
for(k = 0; k < MAX_STATIONS; k++){
fgets(string,100,fp);
printf("%s", string);
}
所以我在这里截取了代码,当我尝试从文件中打印文本时,最后一行可能会重复 10 次。
195 11.00 2013 11 02 15 32 49.76668 234.97289 30
196 11.40 2013 11 02 15 32 49.70103 235.04120 30
197 7.30 2013 11 02 15 32 48.52185 236.57961 5
199 10.00 2013 11 02 15 32 48.39511 236.69492 5
200 8.50 2013 11 02 15 32 48.48800 236.67270 5 200 8.50 2013 11 02 15 32 48.48800 236.67270 5 200 8.50 2013 11 02 15 32 48.48800 236.67270 5 200 8.50 2013 11 02 15 32 48.48800 236.67270 5 200 8.50 2013 11 02 15 32 48.48800 236.67270 5
这是我的输出,任何帮助将不胜感激。另外,我想澄清一下,我们如何处理 fgets(string,100,fp) 的中间部分(在本例中为 100)。
谢谢
编辑:我似乎通过添加解决了这个问题
if(feof(fp)) break;
这是一个有效的解决方案吗?
EDIT2:我还通过放置一个while循环来检查它是否已经到达forloop中流的末尾来解决它:
int k;
char string[100];
for(k = 0; k < MAX_STATIONS; k++){
while(!feof(fp)){
fgets(string,100,fp);
printf("%s", string);
//if(feof(fp)) break;
}
}