QT中QString轉const char *的問題
最近一直在用QT,但是學的還不夠深入,今天遇到了一個問題,在此記錄下來,以便以後查閱:
事情是這樣的:在介面中的QLineEidt裡面輸入一串地址資料,在程式碼裡把它讀取過來,然後去訪問這個地址,但是通過QLineEdit的text()方法讀取到的資料時QString型別的,而訪問地址函式的這個引數型別是const char*的,這就需要把QString轉化為const char*型別,我在網上搜了下,先使用toAscii()轉化為一個QByteArray型別物件,然後再呼叫它的data()或constData()函式即可。這裡我用了constData()函式。即:
QLineEdit *aLineEdit = new QLineEdit();
const char * tagName = aLineEdit->text().toAscii().constData();
qDebug()<<"---------除錯-------"<<tagName<<endl;
此時,輸出的事亂碼。而如果我這樣寫(直接列印,不去定義一個const char* 變數):
//前面語句一樣
qDebug()<<"---------除錯-------"<<aLineEdit->text().toAscii().constData()<<endl;
就可以正確列印出來。
目前,我還不知道這是什麼原因,先記錄之,以供參考。
相關文章
- C++中string、char *、char[]、const char*的轉換C++
- const char*, char const*, char*const 有何區別?
- QT字串QStringQT字串
- 關於VS2017中const char *不能用於初始化char *型別的實體的問題型別
- const char*的全特化
- 【Qt 專欄】QString::arg()函式QT函式
- char[] 轉換string時的自動截斷問題
- qt -- QString類及常用函式功能的使用QT函式
- C++ Qt開發:字串QString容器C++QT字串
- Qt學習筆記(五)QString 字串QT筆記字串
- C++中string轉換為char*型別返回後亂碼問題C++型別
- VS C++ 2017中const char* 型別的值不能用於初始化char*的解決C++型別
- QString與QByteArray互相轉換的方法
- autohotkey qt程式中無法使用的問題QT
- const char* 型別不能用於初始化char* 型別實體型別
- 【C++】CONST CHAR*型別的值不能用於初始化CHAR*型別的實體C++型別
- E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體型別
- 【筆記】VS2017中出現 "const char *" 型別的值不能用於初始化 "char *" 型別的實體筆記型別
- 【VS2019 C++】"const char *" 型別的值不能用於初始化 "char *" 型別的實體C++型別
- 【char* 字元指標的用法】及【輸出NULL的問題】字元指標Null
- QT creator 中c和c++混編問題QTC++
- char轉換成int
- QByteArray to QString
- CMake編譯Qt工程時的問題編譯QT
- 遷移Qt專案的路徑問題QT
- VS2019中出現E01104“const char *”型別的值不能用於初始化“char *”型別的實體的錯誤的解決辦法型別
- VS2019【C++報錯】E0144"const char *" 型別的值不能用於初始化 "char *" 型別的實體C++型別
- QT 自定義QGraphicsItem 縮放後旋轉 圖形出現漂移問題QT
- Qt QScrollArea捲軸不出現問題QT
- 聊聊QT新增MySQL驅動依賴的問題QTMySql
- delphi:string,PChar,Array of Char 之間的轉換
- C++ unsigned char*轉化為string的形式C++
- C++中出現《E0144 "const char *" 型別的值不能用於初始化 "char *" 型別的實體》的錯誤解決方法C++型別
- string與char陣列相互轉換陣列
- C++ 中的 const 物件與 const 成員函式C++物件函式
- C++中const的用法C++
- C++中const的妙用C++
- C/C++中的constC++
- 關於QT的標頭檔案相互包含的問題QT