将一组短路写入文件

时间:2015-02-18 19:23:12

标签: c++ file-io

出于某种原因(我还没弄清楚),以下代码并没有按预期工作。我正在尝试将一个短裤数组写入文件,并且在成功生成文件时,值不正确。示例代码是

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个)符合预期。 有什么想法吗?

hex dump

由于

1 个答案:

答案 0 :(得分:4)

在Windows中,您需要告诉fopen数据是二进制的还是混乱了#34; \ n&#34;到&#34; \ r \ n&#34;。

fopen("E:\\audio_rec\\test_1.raw", "wb");