将短裤数组写入文件
Writing an array of shorts to a file
出于某种原因(我还没有弄清楚),以下代码没有按预期工作。我正在尝试将一组短裤写入文件,虽然文件已成功生成,但值不正确。示例代码为
short* sarray = new short[2000];
for(int i=0;i<2000;i++)
sarray[i]=i*2;
FILE* oFile;
oFile = fopen("E:\audio_rec\test_1.raw", "w");
int shortsRead =fwrite(sarray, sizeof(short), 2000, oFile);
fclose(oFile);
文件内容(在十六进制编辑器中显示)。很明显,只有前 5 个值(最多 8 个)符合预期。
有什么想法吗?
谢谢
在 Windows 中,您需要告诉 fopen 数据是二进制的,否则会将“\n”混淆为“\r\n”。
fopen("E:\audio_rec\test_1.raw", "wb");
出于某种原因(我还没有弄清楚),以下代码没有按预期工作。我正在尝试将一组短裤写入文件,虽然文件已成功生成,但值不正确。示例代码为
short* sarray = new short[2000];
for(int i=0;i<2000;i++)
sarray[i]=i*2;
FILE* oFile;
oFile = fopen("E:\audio_rec\test_1.raw", "w");
int shortsRead =fwrite(sarray, sizeof(short), 2000, oFile);
fclose(oFile);
文件内容(在十六进制编辑器中显示)。很明显,只有前 5 个值(最多 8 个)符合预期。 有什么想法吗?
谢谢
在 Windows 中,您需要告诉 fopen 数据是二进制的,否则会将“\n”混淆为“\r\n”。
fopen("E:\audio_rec\test_1.raw", "wb");