有没有办法将标准输出设置为二进制模式?在没有任何操作的stdout模式中,从我的调试问题开始,我认为它处于文本模式,是真的吗?
我试过功能:
freopen(NULL,"wb",stdout)
但是当我这样做时,我的程序崩溃了.
Cpp*_*ter 12
我尝试使用下面的代码将stdin和stdout设置为二进制模式(在Windows上):
#ifdef _WIN32
#include <io.h>
#include <fcntl.h>
#endif
...
#ifdef _WIN32
setmode(fileno(stdout),O_BINARY);
setmode(fileno(stdin),O_BINARY);
#endif
Run Code Online (Sandbox Code Playgroud)
在Linux下你不能这样做,因为在这个平台上二进制和文本模式是一回事.