资源简介
使用方法:将要处理的wav文件放在input文件夹,运行exe文件,生成的文件在output文件夹中。大家可以根据此程序进行修改以现在更加丰富的功能。建议大家熟悉wav文件的文件头内容。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct file_name_list
{
char fileName[260];
}file_name_list[1000];
int number=0;//input文件数目
//string sRoot = “F:\\“;
//string sSuffix = “\\大三下\\信安大赛\\代码\\any_wav_cut\\input\\*.*“; // 后缀
string sRoot = ““;
string sSuffix = “input\\*.*“; // 后缀
void Move(string sPath);
int get_filelist()
{
Move(sRoot);
}
void Move(string sPath)
{
struct _finddata_t file;
long hFile hFileNext;
string sPathLast = sPath + sSuffix; // sPathLast = “c:\test\*.*“
cout< hFile = _findfirst(sPathLast.c_str() &file);
if(hFile == -1)
{
cout<<“文件不存在.“< }
else
{
//cout< }
hFileNext = _findnext(hFile &file);
while(_findnext(hFile &file) == 0)
{
if(file.attrib == _A_SUBDIR)
{
string sAddPath = sPath; sAddPath += “\\“;
sAddPath += file . name;
//cout<<“目录:“< Move(sAddPath);
}
else{
string sAddPath = sPath;
sAddPath += “\\“;
sAddPath += file . name;
//cout<<“文件:“< //cout< for(int j=0;j<260;j++)
{file_name_list[number].fileName[j]=file.name[j];}
number=number+1;
}
}
}
int wav_cut(char filename[]int time)
{
char fileName[260];
printf(“%d\n“time);
unsigned char ch[100];//用来存储wav文件的头信息
FILE *fp;
sprintf(fileName“input/%s“ filename);
printf(“%s\n“fileName);
fp=fopen(fileName“rb“);//为读,打开一个wav文件
printf(“%s\n“fileName);
if(fp==NULL) //若打开文件失败,退出
{
printf(“can‘t open this file\n“);
system(“PAUSE“);
exit(0);
}
for(int i=0;i<100;i++)
{
ch[i]=fgetc(fp); //每次读取一个字符,存在数组ch中
if(i%16==0) //每行输出16个字符对应的十六进制数
printf(“\n“);
if(ch[i]<16) //对小于16的数,在前面加0,使其用8bit显示出来
printf(“0%x “ch[i]);
else
printf(“%x “ch[i]);
}
int data_flag;
for(int i=32;i<100;i++)//find data_falg
{
if(ch[i]==‘t‘&&ch[i-1]==‘a‘&&ch[i-2]==‘d‘&&ch[i+1]==‘a‘)
{
data_flag=i-2;
break;
}
}
printf(“data_flag:%d\n“data_flag);
int bytepermin=*((int*)&ch[28]);//ch[31]*(16*16*16*16*16*16)+ch[30]*(16*16*16*16)+ch[29]*(16*16)+ch[28]; //每秒字节数
printf(“\nbytepermin:%d\n“bytepermin);
int datasize=*((int*)&ch[data_flag+4]);//ch[data_falg+7]*(16*16*16*16*16*16)+ch[data_falg+6]*(16*16*16*16)+ch[data_falg+5]*(16*16)+ch[data_falg+4];//data长度
printf(“\ndatasize:%d\n“
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5409 2014-04-09 18:26 any_wav_cut\any_wav_cut.cpp
文件 1320050 2014-04-09 21:45 any_wav_cut\any_wav_cut.exe
文件 9360098 2014-07-02 15:09 any_wav_cut\input\let.wav
目录 0 2014-07-22 20:56 any_wav_cut\input
目录 0 2014-07-22 20:56 any_wav_cut\output
目录 0 2014-07-22 20:56 any_wav_cut
----------- --------- ---------- ----- ----
10685557 6
相关资源
- C++ 魔塔 游戏 源代码
- 完整扫雷源代码(C++MFC)
- C语言 wav文件读取头文件和数据
- 发送ARP请求
- 数据结构C语言版(经典绝版)清华大
- 五个小程序 VC++的源代码
- C语言实用数字图像处理_源代码code
- 数据结构 C语言描述 第2版 殷人昆 随
- 数据结构C语言版 严蔚敏 清华大学出
- C语言实现上机账户管理系统 VS 2010-
- C语言中文API
- 康威生命游戏C语言并行实现intrinsic
- 基于51单片机的教室计数系统 C语言程
- 课程设计-电话号码查找系统C语言版含
- 数字信号处理C语言程序集DSP算法大全
- 4X4X4光立方资料含电路图,制作方法,
- 基于C语言和SQL SERVER数据库实现的图书
- C语言销售管理系统源代码
- C语言编写双人剪刀石头布联机游戏代
- 编码:隐匿在计算机软硬件背后的语
- 传奇源代码cpp版本.zip
- C语言遍历文件下指定后缀文件(包括
- HLS:C语言转换FPGA教程ug871
- 北航考研C语言复习资料
- C语言程序设计第二版--谭浩强PDF
- HT66Fxx flash 单片机原理与应用C语言版
- 编程精粹:编写高质量C语言代码(高清
- 数字图像处理 完整源代码
- C语言编写TCP服务器
- 音乐播放器源代码 vc++ 6.0
评论
共有 条评论