QString與char 的相互轉換

2021-10-03 13:19:03 字數 570 閱讀 2890

在進行程式設計時,我們經常需要用到字串這種型別,毫無疑問,qt 庫中也對字串型別進行了封裝,qstring 類提供了你能想到的所有字串操作方法,給開發者帶來了極大方便。 

但是我們在編寫程式時,不可避免地會在 qt 框架上使用第三方的開源庫,由於庫的型別基本上都是標準的型別,即使用 char * 來表示字串型別。那麼問題來了,qstring 和 char * 之間如何進行轉換呢?

下面分兩種情況進行說明。

一、qstring 轉換為 char *

將 qstring 轉 char *,需要用到 qbytearray 類,qbytearray 類的說明詳見 qt 幫助文件。 

因為 char * 最後都有乙個'\0'作為結束符,而採用 qstring::tolatin1() 時會在字串後面加上'\0'

方法如下:

qstring  str;

char* ch;

qbytearray ba = str.tolatin1(); // must

ch=ba.data();

QString與char 的相互轉換

在進行程式設計時,我們經常需要用到字串這種型別,毫無疑問,qt 庫中也對字串型別進行了封裝,qstring 類提供了你能想到的所有字串操作方法,給開發者帶來了極大方便。但是我們在編寫程式時,不可避免地會在 qt 框架上使用第三方的開源庫,由於庫的型別基本上都是標準的型別,即使用 char 來表示字串...

QString與char 的相互轉換

在進行程式設計時,我們經常需要用到字串這種型別,毫無疑問,qt 庫中也對字串型別進行了封裝,qstring 類提供了你能想到的所有字串操作方法,給開發者帶來了極大方便。但是我們在編寫程式時,不可避免地會在 qt 框架上使用第三方的開源庫,由於庫的型別基本上都是標準的型別,即使用 char 來表示字串...

QString與char 的相互轉換

在進行程式設計時,我們經常需要用到字串這種型別,毫無疑問,qt 庫中也對字串型別進行了封裝,qstring 類提供了你能想到的所有字串操作方法,給開發者帶來了極大方便。但是我們在編寫程式時,不可避免地會在 qt 框架上使用第三方的開源庫,由於庫的型別基本上都是標準的型別,即使用 char 來表示字串...