最近在处理WAV音频文件的编码转码问题,在用fread函数(C语言)从WAV中读取数据(每次读取一个字节)时,用一个char数组存储一个文件中读到的所有数据,数组长度是84742,结果发现从81920开始读出的数据和原文件不一样。
经过一番搜索发现有人提到fopen第二个参数用“r”,只读模式下遇到控制字符会停止读取,应该用二进制模式读取“rb”,尝试之后解决了,二进制模式可以正确读取整个文件,但是并没有遇到控制字符,先记录下来以待后续探讨。
最近在处理WAV音频文件的编码转码问题,在用fread函数(C语言)从WAV中读取数据(每次读取一个字节)时,用一个char数组存储一个文件中读到的所有数据,数组长度是84742,结果发现从81920开始读出的数据和原文件不一样。
经过一番搜索发现有人提到fopen第二个参数用“r”,只读模式下遇到控制字符会停止读取,应该用二进制模式读取“rb”,尝试之后解决了,二进制模式可以正确读取整个文件,但是并没有遇到控制字符,先记录下来以待后续探讨。