通常我住在我守卫的C#世界里.但有时我必须突破并在外面做点什么.
目前我必须解码一个audiostream,并且必须直接在我的c ++控制台应用程序中输出它.
如果我将内容写入文件,我可以听到正确的结果.但如果我使用而不是fstream cout,我只会发出嘈杂的声音.
我该如何做到正确?这里是工作文件流代码:
fstream wavefile;
wavefile.open(output, ios::out | ios::binary | ios::trunc);
//do something
wavefile.write((char*) &waveheader, waveheadersize);
//do something else
do {
//do something
//decodedBuffer is of type BYTE* , decodedLength is of type DWORD
wavefile.write((char*) decodedBuffer, decodedLength);
wavefile.flush();
} while (encodedLength > 0);
Run Code Online (Sandbox Code Playgroud)
我没有工作的cout代码:
std::cout.setf(ios::out | ios::binary | ios::trunc);
//do something
//this works, I got the same output
cout << structToString(&waveheader) << endl;
//do something else
do {
//do something
cout << (char *)decodedBuffer;
} while (encodedLength …Run Code Online (Sandbox Code Playgroud)