【发布时间】:2014-05-31 05:13:34
【问题描述】:
有没有办法将标准输出设置为二进制模式?没有任何操作的stdout是在哪种模式下,从我的调试问题我假设它是文本模式,是真的吗?
我试过函数:
freopen(NULL,"wb",stdout)
但我的程序在执行时崩溃了。
【问题讨论】:
-
如果您需要“二进制模式”,请忽略格式化输出 - 坚持使用未格式化输出
-
@DieterLücking 无格式输出与输出是二进制还是文本无关。
-
这在 Windows 上很有用,因为如果你在 Windows 上执行 fwrite("a\nb", 1, 3, stdout),你最终会写出 "a\r\nb"(注意添加 \r)。这使得无法使用 stdout 作为发送任意二进制数据的通道,这很有用。
标签: c++