首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

文件操作的有关问题.请

2012-02-24 
文件操作的问题.请高手指点!#includestdlib.h#includestdio.hintmain(){FILE*iFile,*oFileshortdata[

文件操作的问题.请高手指点!
#include   <stdlib.h>
        #include   <stdio.h>

        int   main()
        {
FILE   *iFile,*oFile;
short   data[240];

if   (   (iFile=fopen( "dbh.wav ", "rb "))   ==   NULL)
{
        printf( "\nerror   on   open   dbh.wav! ");  
                          exit(2);
}
if   (   (oFile=fopen( "mine.wav ", "wb "))   ==   NULL)
{
        printf( "\nerror   on   open   mine.wav! ");  
                          exit(2);
}



while   (fread(data,sizeof(short),240,iFile)==240)
{
        fwrite(data,   sizeof(short),   240,   oFile);
}
                             
fclose(iFile);    
fclose(oFile);  

                  getchar();
return   0;
          }

能不能解释一下while循环部分是怎么运行的?   如果按现在这个写法,我认为mine.wav将比dbh.wav缺少一部分数据?   可是实际上是不缺少的.为什么呢?

[解决办法]
int n;
while ((n=fread(data,sizeof(short),240,iFile))> 0)
{
fwrite(data, sizeof(short), n, oFile);
}

热点排行