用c语言把wav文件转换成数字放到txt文件里面

来源:互联网 发布:推荐好的淘宝店铺女装 编辑:程序博客网 时间:2024/05/16 08:14

#include <stdio.h>      
#include <stdlib.h>        
#include <math.h>    

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

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

main()
{
 FILE *Ifp,*Ofp,*ttt; //定义文件读写指针
 Ifp = fopen("1a.wav","rb");    /*以只读方式打开1a.wav文件*/
 Ofp = fopen(" ProcessedFile.wav","wb");/*以只写方式使用ProcessedFile.wav文件.(注:这个文件本身并不存在,但通过这条语句可以创建这个文件)*/
 ttt=fopen("hao.txt","w");

fseek(Ifp,0L,SEEK_END);
FileEnd=ftell(Ifp);
printf("%d/n",FileEnd);
rewind(Ifp);
FileLength=FileEnd/2;

while(FileLength>=W)
{
fread(InputData,sizeof(short),W,Ifp);
for(int i=0;i<W;i++)
{
fprintf(ttt,"%d   ",InputData[i]);
}
FileLength-=W;
}
fread(InputData,sizeof(short),FileLength,Ifp);
for(int i=0;i<FileLength;i++)
{

fprintf(ttt,"%d   ",InputData[i]);

}
return 0;

}

 

 

    感谢百度上面那位大哥给的程序,自己修改了一下,竟然还真能读取wav文件,并且把它转化成数字存到txt文件里面,当然,也可以放到doc文件里面。