vc編程輸入字體變亂碼 QT3中怎么實現QString與char*的轉換?
QT3中怎么實現QString與char*的轉換?Qt下面,字符串都用QString,的確給開發者需要提供了比較方便,想一想VC里面定義的各種變量類型,但是函數參數類型層出,偶爾會需要今年新那個類型轉
QT3中怎么實現QString與char*的轉換?
Qt下面,字符串都用QString,的確給開發者需要提供了比較方便,想一想VC里面定義的各種變量類型,但是函數參數類型層出,偶爾會需要今年新那個類型轉換Qt再使用第三方開放源代碼庫時,的原因庫的類型基本都是標準的類型,字符串遇的多的那是Char*類型在Qt下怎么樣才能將QString轉char*呢,是需要應用QByteArray類,QByteArray類的說明詳見Qt幫助文檔。
因為char*到最后都有吧一個‘/0'另外結束后符,而需要QString::toLatin1()時會在字符串后面而且‘/0'
方法::Qstringstrchar*chQByteArrayba()()這樣的話就成功了QString向char*的轉化。經測試程序運行時絕對不會又出現bug再注意第三行,必須得另外,是可以().data()那樣一部能夠完成,肯定會出錯。補充:左右吧方法當QString里不含中文時,沒有問題,但QString內成分中文時,可以轉換為char*那就是出現,區分追加方法解決的辦法:
方法1:去添加GBK編碼接受:
#includeltQTextCodecgtQTextCodec::setCodecForTr(QTextCodec::codecForName(#34GBK#34))
QTextCodec::setCodecForLocale(QTextCodec::codecForName(#34GBK#34))然后把變動上面的第三行為:QByteArrayba()toLoacl8Bit接受中文方法2:先將QString轉為標準庫中的string類型,然后將string轉為char*,萬分感謝:
std::stringstr()constchar*chstr.c_str()
在Visual c 6.0里為C程序代碼輸入中注釋為什么顯示是亂碼?
1.中文字符占兩個字符,操作過程很有可能只刪除掉了半個字符,可能導致了;
2.看下不是什么注釋的地方有沒有是中文字符的空格啥的;
3.遇上情況,就像我是文件復制下怎么辦行到記事本,然后把把行然后再寫下看看,再說鼓搗下就算就好了,偶爾會是多加個空行,或刪個空行啥的。