Qstring的輸出問題

2021-06-16 21:43:02 字數 1195 閱讀 4784

有時候想在控制台輸出我們想要的qstring變數。

1、qdebug可以實現在控制台終端列印,但我們還是想使用c++中的std::cout<

this function does nothing if qt_no_debug_output was defined during compilation.

2、網上說的方法利用qtextstream:

cpp**

#include

qtextstream cin(stdin, qiodevice::readonly); 

qtextstream cout(stdout, qiodevice::writeonly); 

qtextstream cerr(stderr, qiodevice::writeonly); 

qstring st("hello world"); 

cout /必須加endl才能輸出

cin>>str;//輸入

cout

#include qtextstream cin(stdin, qiodevice::readonly);

qtextstream cout(stdout, qiodevice::writeonly);

qtextstream cerr(stderr, qiodevice::writeonly);

qstring st("hello world");

cout <>str;//輸入

cout 這樣的cin、cout、 cerr和我們在傳統c++遇到的有一點不同,那就是你cout了乙個qstring之後,預設是不直接輸出的,一般需要等到cout的緩衝區滿之後,才 向終端輸出內部的字串;如果你想在cout之後馬上看到輸出的內容,可以在輸出之後在輸出乙個endl,或者呼叫cout的內部方法flush,強制情 況緩衝區

3、我們還是習慣用c++的 #include中的std::cout,這個時候qstring型別需要轉換成char *

cpp**

#include

qstring str("hello,world"); 

qbytearray ba(str.toascii());//toascii()返回乙個qbytearray型別

std::cout << ba.data();//data()返回char *

//其它型別變數還是可以照常輸出的。

逆序輸出問題

一,題目 輸入乙個鍊錶的頭結點,從尾到頭反過來輸出每個結點的值。鍊錶結點定義如下 struct listnode 二,分析 解法二 從頭到尾遍歷鍊錶,每經過乙個結點的時候,把該結點放到乙個棧中。當遍歷完整個鍊錶後,再從棧頂開始輸出結點的值,此時輸出的結點的順序已經反轉過來了。該方法需要維護乙個額外的...

php輸出問題

輸出問題 a a3df b 256 echo a echo print a echo printf a s,b d a b echo 輸出問題,一般情況用echo 它可以連續輸出,如 echo a b sffjfh echo print的輸出有返回值 print是函式 return print b ...

MFC DLL更名輸出問題

一次,乙個mfc標準dll,在vc6的setting中,把d版的dll更名輸出,然後採用不同版鏈結不同dll,如下 編譯dll時設定 dll ltimecount if defined dll ltimecount defined jksltimecount manualload defined j...