代码如下:char Buffer[1024];..........对buffer进行一系列赋值DeleteFile(filename);
FILE *pfile=fopen(filename,"w");
fwrite(Buffer,sizeof(char),iBufferSize,pfile);
fclose(pfile);
这样出来的文件大小为什么总要比 iBufferSize 大一点呢

解决方案 »

  1.   

    以二进制方式打开文件
    FILE *pfile=fopen(filename,"wb");
      

  2.   

    你用的是文本模式的话,回车键可能被两个键代替,当然几大了,用二进制模式就没问题了。
    If stream is opened in text mode, each carriage return is replaced with a carriage-return – linefeed pair
      

  3.   

    同意一楼,用二进制写fopen(filename,"wb");
      

  4.   

    呵呵,需要使用二进制,否这可以使用
    fopen(filename,"wt");//文本模式
      

  5.   

    用ultraedit的十六进制方式打开看一看不就知道了
    可能多了\0吧
      

  6.   

    如果用文本方式打开, 碰到ascii值为10或13的字符,无论写入文件还是从文件读入,都会把这一个字符转化成两个字符'\r'和'\n'。所以你等文件如果出现了以上两个字符之一(如果是数据文件, 出现以上两个字符之一的几率挺大), 就会“多一点了”。
      

  7.   

    OK!解决了 DentistryDoctor(My heart will fly,in the sky.)的是正解