求助 读文件为什么老是部分读不对??
- C/C++ code
#include <iostream>#include <cstdio>#include "my.h"using namespace std;int main(){ FILE *fp=fopen("e:\\test.txt","r"); int i=0,j=0; double val=0; FILE *test=fopen("e:\\error.txt","w"); for(int count=1;count<=7;count++) { fscanf(fp,"%u %u %E",&i,&j,&val); fprintf(test,"%u %u %E\n",i,j,val); } fclose(test); fclose(fp); system("pause"); return 0;}
为什么val就是不对呢?明明E000的东西怎么会读成E314呢?应该怎么改呢?谢谢!
test.txt里的东西:
1 1 6.000014E+000
1 2 -7.048629E-001
1 17 -7.068983E-001
1 257 -1.000000E+000
2 1 -1.296160E+000
2 2 5.998007E+000
2 3 -7.038399E-001
error.txt里的东西:(即程序生成)
1 1 5.367157E-315
1 2 1.584906E-314
1 17 1.584923E-314
1 257 1.587352E-314
2 1 1.588580E-314
2 2 5.367137E-315
2 3 1.584897E-314
[解决办法]
修改一行代码就OK啦。
- C/C++ code
fscanf(fp,"%u %u %lf",&i,&j,&val);