有没有办法将标准输出设置为二进制模式?在什么模式下stdout没有任何操作,从我的调试问题我假设它是在文本模式下,是真的吗?
我试过函数:
freopen(NULL,"wb",stdout)
但是我的程序在执行时崩溃了。
最佳答案
我尝试了下面显示的代码将标准输入和标准输出设置为二进制模式(在 Windows 上):
#ifdef _WIN32
#include <io.h>
#include <fcntl.h>
#endif
...
#ifdef _WIN32
setmode(fileno(stdout),O_BINARY);
setmode(fileno(stdin),O_BINARY);
#endif
在 Linux 下你不能这样做,因为在这个平台上二进制和文本模式是一回事。
关于c++ - 有没有办法将标准输出设置为二进制模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41517462/