0
所以,我有以下代码:的fscanf循环不正常
#include <stdio.h>
int main() {
FILE* f = fopen("test.txt", "r");
FILE* p = fopen("test2.txt", "w+");
double i;
char j;
while (!feof(f)){
fscanf(f, " %c", &j);
if ((j == '(')||(j == ')'))
fprintf(p, "%c ", j);
else {
ungetc(j,f);
fscanf(f, "%lf ", &i);
fprintf(p, "%.2lf ", i);
}
}
return 0;
}
文件我在读(test.txt的)是这样的:
13.3 3(
和文件test2.txt是这样的:
13.30 3.00( (
但是最后一个括号不应该出现。为什么这是最后的字符两次?
好奇:建议使用什么参考或谁'而{'(FEOF(F)!)? – chux 2014-10-08 00:38:51