qstring是unicode字元的集合,它是qt api中使用的字串類。
qstring的成員是qchar,qchar是乙個16位unicode字元類。大多數編譯器把它看作是乙個unsigned short。
qstring和c標準中的字串不同,它不以'\0'結尾,相反,qstring可以嵌入'\0'/字元。
(1)qstring初始化。
[cpp]view plain
copy
qstring str(
"hello"
);
qstring str = "hello"
; static
const
qchar data[4] = ;
qstring str(data, 4);
qstring str;
str.resize(4);
str[0] = qchar('u'
);
str[1] = qchar('n'
);
str[2] = qchar(0x10e3);
str[3] = qchar(0x03a3);
qstring str;
str.sprintf("%s %.3f"
, "float"
, 3.1415926);
//str結果是"float 3.14"
qstring str;
str.setnum(10); //str = "10"
str.setnum(10, 16); //str = "a"
str.setnum(10.12345); //str = "10.12345"
qstring i; // current file's number
qstring total; // number of files to process
qstring filename; // current file's name
qstring status = qstring("processing file %1 of %2: %3"
) .arg(i).arg(total).arg(filename);
(2)字串轉換
[cpp]view plain
copy
long
tolong (
bool
* ok = 0,
intbase = 10 )
const
qlonglong tolonglong ( bool
* ok = 0,
intbase = 10 )
const
short
toshort (
bool
* ok = 0,
intbase = 10 )
const
double
todouble (
bool
* ok = 0 )
const
float
tofloat (
bool
* ok = 0 )
const
uint touint ( bool
* ok = 0,
intbase = 10 )
const
ulong toulong ( bool
* ok = 0,
intbase = 10 )
const
qulonglong toulonglong ( bool
* ok = 0,
intbase = 10 )
const
ushort toushort ( bool
* ok = 0,
intbase = 10 )
const
引數ok結果說明轉換是否成功。
示例:[cpp]view plain
copy
qstring str;
bool
ok;
double
d = str.todouble(&ok);
if(ok)
else
(3)字串比較
[cpp]view plain
copy
intcompare (
const
qstring & other )
const
intcompare (
const
qstring & other, qt::casesensitivity cs )
const
intcompare (
const
qlatin1string & other, qt::casesensitivity cs = qt::casesensitive )
const
intcompare (
const
qstringref & ref, qt::casesensitivity cs = qt::casesensitive )
const
[cpp]view plain
copy
qstring().isnull();
// returns true
qstring().isempty(); // returns true
qstring(""
).isnull();
// returns false
qstring(""
).isempty();
// returns true
qstring("abc"
).isnull();
// returns false
qstring("abc"
).isempty();
// returns false
(4)字串處理
qstringleft ( int n ) const //取左邊的n個字元。
qstringright ( int n ) const //取右邊的n個字元。
replace()函式提供方法替換字串。
remove()函式從字串中移除字元。
split()函式拆分字串。
mid()取子串。
Qt中的字串類QString
qt下面,字串都用qstring,確實給開發者提供了方便,想想vc裡面定義的各種變數型別,而且函式引數型別五花八門,經常需要今年新那個型別轉換 qt再使用第三方開源庫時,由於庫的型別基本上都是標準的型別,字串遇的多的就是char 型別 在qt下怎樣將qstring轉char 呢,需要用到qbytea...
Qt之QString字串分割 擷取
在做專案中不可避免的會使用到一串字串中的一段字元,因此常常需要擷取字串。有兩種方式可以解決這個問題 方法一 qstring分割字串 qstring date dateedit.tostring yyyy mm dd qstringlist list date.split qstring字串分割函式方...
QT之字串類
前面我們講解了開發計算器的訊號處理機制,接下來我們來講講關於字串顯示的問題。我們都知道 c 語言不支援真正意義上的字串 c 語言是用字元陣列和一組函式來實現字串操作的 c 語言不支援自定義型別,因此我們無法獲得字串型別。從 c 到 c 的進化過程引入了自定義型別,在 c 中可以通過類完成字串型別的定...