我正在编写代码,它非常简单地读入文件并适当地打印出文件中的内容。
我一直在努力让这样的程序在文件结束时终止,并认为我找到了合适的解决方案,但是每行在我的输出中打印两次,原因超出了我的范围。
这是我的主要文件:
int main(int argc, char *argv[]) {
// insure 2 arguments given, one for a.out and one for the test file
if (argc != 2) {
// result if request fails
printf("Requires 2 arguments. Be sure to include test file location\n");
return 0;
}
FILE *fp; //open the file
fp = fopen(argv[1], "r");
char option;
int key;
int i = 0;
while (fscanf(fp, "%c %d", &option, &key) != EOF) {
printf("%d\n", key);
}
}
关键是打印两次!
希望这是一个简单的错误,我只是因为过度暴露于问题而忽略了。