如何將QString轉換為char 或者相反

2021-05-25 02:31:52 字數 1329 閱讀 5360

原文出處:

還有其他多種方法:

方法一 -----------------------------------------

#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...