tree_data.desc //desc是char[80]型別的資料
qstring newdescstr;
strcpy(tree_data.desc ,
newdescstr.tolocal8bit().data());
注意:.tolocal8bit()為了讓qstring變成qbytearray,也為了漢字本地化處理;.data()是將qbytearray轉換為char*
有時候列印sql語句時,.tolocal8bit()和.data()不能連續寫,要分兩步進行;
另外寫了乙個函式,如果經常需要這樣做,可以呼叫該函式
//將str的內容填充到buff
int dbcfgfun::inputstrtobuff(char *buff, qstring str, int bufflen)
memset(buff, 0, bufflen);
int reallen = (str.tolocal8bit().length()if (reallen>0)
buff[bufflen-1] = 0;
return reallen;
}
char 位元組陣列 轉QString
char位元組陣列型別轉qstring裡邊要特別注意的是,陣列中含有00時,直接用qstring的方法tolatin1 轉換會出問題,遇到0就認為結束。下面是位元組陣列轉qstring型別的列子 位元組陣列轉16進製制字串,用於16進製制顯示 static qstring tohexstr qbyt...
將QString轉換為char
官方說明 注意在呼叫qbytearray.data 之前,必須要先顯示儲存這個bytearray。像這樣const char c str2 str2.tolatin1 data 會使程式崩潰,因為qbytearray沒有被儲存,呼叫data 前是不存在的,必須先顯式呼叫一次tolatin1 再呼叫d...
QString 向 char 的轉化
一 qstring 轉換為 char 將 qstring 轉 char 需要用到 qbytearray 類,qbytearray 類的說明詳見 qt 幫助文件。因為 char 最後都有乙個 0 作為結束符,而採用 qstring tolatin1 時會在字串後面加上 0 方法如下 qstring s...