读书人

读文件为什么老是部分读不对?

发布时间: 2012-05-01 12:48:58 作者: rapoo

求助 读文件为什么老是部分读不对??

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); 

读书人网 >C++

热点推荐