原文出處:
還有其他多種方法:
方法一 -----------------------------------------
#define g2u(s) ( qtextcodec::codecforname("gbk")->tounicode(s) )
#define u2g(s) ( qtextcodec::codecforname("gbk")->fromunicode(s) )
qstring str;
qcstring cstr;
str = g2u("中文輸入");
cstr = u2g(str);
qcstring有這樣乙個過載運算子
operator const char * () const
可以這樣
printf("%s/n", (const char*) cstr);
或是copy出來
char buf[1024];
strcpy(buf, (const char*) cstr);
方法二 -----------------------------------------
如果是中文系統
直接用 (const char*) str.local8bit()
例如printf("%s", (const char*) str.local8bit());
str是乙個qstring
方法三 -----------------------------------------
char str[64];
qtextcodec *textcod = qtextcodec::codecforname("gbk");
qcstring string1 = textcod ->fromunicode(listbox1->currenttext());
strcpy(str,string1);
qstring和std::string
從char*到 qstring可以從fromlocal8bit()轉化
std::string有c_str()的函式使再轉化為char*
qstring有toascii()記不清了
你可以看看.
quote:
qtextcodec::setcodecforlocale(qtextcodec::codecforname("gb18030"));
然後是從utf8編碼到gb編碼的字串轉換方法:
quote:
qstring utf8_to_gb(qstring strtext)
quote:
qstring gb_to_utf8(char *strtext)
如何將C nullable int轉換為int
如何將可空int轉換為int 假設我有兩種型別的int,如下所示 int?v1 intv2 將v1的值分配給v2 v2 v1 會導致錯誤。如何將v1轉換為v2?v2 convert.toint32 v1 v2 int v1 檢索物件的值。如果為null,則返回int的預設值,即0。v2 v1.get...
將QString轉換為char
官方說明 注意在呼叫qbytearray.data 之前,必須要先顯示儲存這個bytearray。像這樣const char c str2 str2.tolatin1 data 會使程式崩潰,因為qbytearray沒有被儲存,呼叫data 前是不存在的,必須先顯式呼叫一次tolatin1 再呼叫d...
如何將float轉換為string ZZ
可能有好多人,包括c語言老手都不知道如何將float資料轉換為string,我就是這樣,今天查了一下msdn,才知道c提供了 gcvt函式實現這個功能,收穫著實不小,為了方便自己查詢,也為了那些像我這樣的能夠了解該函式的具體用法,我把msdn的原文原封不動抄錄如下 gcvt converts a f...