簡體   English   中英

如何在 Qt5 中將二進制數據寫入標准輸出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM