1.调试经验:队友给了转换了采样率的音频,结果头文件的读取错误了,数据区只有26个字节!在报错的对话框按重试->中止,再看堆栈是哪里出了问题,索引到出问题的代码看其中的变量出了什么问题,dataLen很小,而且头文件字段data前有混乱。于是将头文件中前50个字节读出来看内存,打开调试->窗口->内存通过输入变量的内存地址可以看到读取数据存入的内存区和显示出来的样子,在这里发现data字段前多了一个字段(fact字段是当wav文件由某些软件转换而成才有的),问题出在之前读头文件的代码中并没有考虑fact字段。
2.复习一下文件读写处理
读取数据:
FILE *fp;
const char* path=“D:\\wavcs\\cat.wav”;
fp=fopen(path,"r");
char dataPrint[50];
fgets(dataPrint,50,path);
写入数据:
fprintf(fpTest,“result[%d]=%lf\n”,i,result[i]);