【发布时间】:2019-03-06 04:10:02
【问题描述】:
QTextStream 允许我将stdout 包装起来,以便我可以使用 Qt spesifics 方便地写入标准输出。示例:
QTextStream qout(stdout);
qout << QString("Some qt spesific stuff: %1\n").arg(1337);
虽然QTextStream 确实有用,但它不支持二进制数据。通过它的所有数据都应遵循有效的字符集和编码(unicode/UTF-8 等)。
因此,如果我想将原始二进制数据输出到stdout,那么逻辑替换是将QTextStream 替换为QDataStream。但是,该类不允许我包装 stdout(它没有采用 std 文件句柄的构造函数)。
那么在将二进制数据写入stdout 时,我有哪些选择可以让“Qt 方便”?下一个最好的事情是什么?
PS:我知道将二进制数据写入标准输出并不总是好主意。但是,我真的需要这样做。
【问题讨论】:
标签: c++ qt stdout qdatastream qtextstream