求助,文件相关。
c语言吧
全部回复
仅看楼主
level 1
L唯一de泪 楼主
#include <stdio.h>
#include <stdlib.h>
int main()
{
     FILE *fp;
     int a,b;
     fp=fopen("G:\\intfile.dat","w+");
     if(!fp) {printf("error!"); return 1;}
     for(a=0;a<1000;a++)
     fprintf(fp,"%8d",rand());
     fclose(fp);
     fp=fopen("G:\\intfile.dat","r+");
    if(!fp) {printf("error!"); return 1;}
     for(a=0;a<1000;a++)
     {
        fscanf(fp,"%8d",&b);
         printf("%8d\n",b);
     }
     return 0;
}
题目要求随机1000个整数,保存到intfile.dat中。用fprintf写入,整数之间有分隔符号。写入后 关闭。 重新打开,用fscanf逐个读取并显示数据。
我发现保存到文件中的数 跟显示的数不一样。
为什么……求解
2010年10月20日 13点10分 1
level 1
L唯一de泪 楼主
最后忘关闭文件了……
2010年10月20日 13点10分 2
level 1
L唯一de泪 楼主
把 printf("%8d\n",b);
改为printf("%8d"\t),b);就正确了,为什么?
2010年10月20日 13点10分 3
level 1
L唯一de泪 楼主
printf("%8d\t",b);
2010年10月20日 13点10分 4
1