[英]How to write binary data to stdout in Qt5
QTextStream
允許我包裝stdout
以便我可以方便地使用 Qt 規范寫入標准輸出。 例子:
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:我知道將二進制數據寫入標准輸出並不總是好主意。 但是,我真的需要這樣做。
你可以打開標准輸出這種超負荷的QFile::open
這樣的:
QFile my_stdout;
if (my_stdout.open(1, QIODevice::WriteOnly)) {
QDataStream qout(my_stdout);
qout << QString("Some qt spesific stuff: %1\n").arg(42);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.