| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1264 人关注过本帖
标题:为什么文件追加写不进去嘞
取消只看楼主 加入收藏
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
为什么文件追加写不进去嘞
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#define  W  128   //每次读写文件的数据量

int    FileSet=0;      //定义一个整型变量, 用于保存fseek函数的返回值
int     FileEnd=0;    //整个文件的字节数
int     FileLength=0;  //文件的数据长度
short InputData[W];   //文件读写数据缓冲区

main()
{
 FILE *Ifp,*Ofp; //定义文件读写指针
 Ifp = fopen("f:\\exam.wav","rb");   
 Ofp = fopen("f:\\ProcessedFile.wav","ab");
 FileSet=fseek(Ifp,0L,SEEK_SET);    /*将指针移到文件开始处*/
 fseek(Ifp,0L,SEEK_END);    /*将指针移到文件尾*/
 FileEnd=ftell(Ifp);    /*获取exam.wav文件的字节数*/
 FileLength=FileEnd/2;    /*文件的数据长度*/
 rewind(Ifp);    /*将指针重新指到exam.wav文件开头*/
 while(FileLength>=W)    /*文件剩余的数据长度不小于W时,继续循环处理*/
 {
  fread(InputData,sizeof(short),W,Ifp);    /*从exam.wav文件中读取W个short(16比特)数据,保存到InputData数组*/
  fwrite(InputData,sizeof(short),W,Ofp);    /*将InputData数组中的W个short数据写入到ProcessedFile.wav文件中*/
  FileLength-=W; //刷新剩余的文件长度
 }
 fread(InputData,sizeof(short),FileLength,Ifp);    /*从exam.wav文件中读取剩余的数据,保存到InputData数组*/
 fwrite(InputData,sizeof(short),FileLength,Ofp);    /*将InputData数组中的数据写入到ProcessedFile.wav文件中*/
 fclose(Ifp);    /*关闭读文件*/
 fclose(Ofp);    /*关闭写文件*/

}
搜索更多相关主题的帖子: 缓冲区 include 
2015-01-23 14:13
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
用wb就能实现用ab就做不到了吗

......................................既然琴瑟起,何以笙箫默
2015-01-23 14:17
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 4楼 wmf2014
我不是要写一模一样的文件啊,我是要把一个文件加入另一个文件里

......................................既然琴瑟起,何以笙箫默
2015-01-23 15:13
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 3楼 TonyDeng
读的是WAV文件啊,注释跟代码怎么不符合呢?

......................................既然琴瑟起,何以笙箫默
2015-01-23 15:14
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 6楼 rjsp
不懂(@_@;),不过我没加那个也运行的了

......................................既然琴瑟起,何以笙箫默
2015-01-23 15:16
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 10楼 rjsp
我说的追加意思是把一个文件接着另一个文件的尾部追加进去

......................................既然琴瑟起,何以笙箫默
2015-01-23 16:00
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 9楼 TonyDeng
可以运行,但是文件木有变化,也就是另一个文件木有写进去

......................................既然琴瑟起,何以笙箫默
2015-01-23 16:00
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 13楼 TonyDeng
用读的方式,打开exam.WAV,然后写进 后面那个文件里

......................................既然琴瑟起,何以笙箫默
2015-01-23 16:21
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 15楼 TonyDeng
追加的内容就是我读的那个文件的内容

......................................既然琴瑟起,何以笙箫默
2015-01-23 16:28
颜寻
Rank: 2
来 自:ccnu
等 级:论坛游民
帖 子:74
专家分:32
注 册:2014-12-27
收藏
得分:0 
回复 17楼 TonyDeng
额(⊙o⊙)…什么意思,其实我是想合并两个WAV文件,于是我就想用rb打开读取exam,然后用ab,写进ProcessedFile.wav中

......................................既然琴瑟起,何以笙箫默
2015-01-23 16:33
快速回复:为什么文件追加写不进去嘞
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027435 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved