關於tchar, char, wchar_t三種字元型別的區別,會在隨後的文章中詳細解釋!下面是一、cstring類的幾種基本操作:
1、長度:getlength();
cstring str(_t(「abc」));
int len = str.getlength(); //len == 3
2、是否為空(即不含字元):isempty();
3、清空字串:empty();
cstring str(_t(「abc」));
bool mempty = str.isempty(); //mempty == false
str.empty();
mempty = str.isempty(); //mempty == true
4、轉換大小寫:makeupper(),makelower();
5、轉換順序:makereverse();
二、字串的查詢
1、find:從制定位置開始查詢指定字串,返回其位置(找不到返回-1)
cstring str(_t(「abcdefg」));
int idx = str.find(_t(「cde」), 0); //idx 的值為2;
2、reversefind:從字串末尾開始查詢指定的字元,返回其位置,找不到返回 -1,雖然是從後向前查詢,但是位置為從開始算起;
cstring str(_t(「abcdefg」));
int idx = str.reversefind(『e』); //idx 的值為4;
3、findoneof:查詢引數中給定字串中的任意字元,返回第一次出現的位置
cstring str(_t(「abcabcd」));
int idx = str.findoneof(_t(「cbd」)); //idx 的值為1;
三、字串的提取
left,mid,right:分別實現從cstring物件的左、中、右進行字串的提取操作
cstring str(_t(「abcd」));
cstring strresult = str.left(2); //strresult == ab
strresult = str.mid(1); //strresult == bcd
strresult = str.mid(0, 2); //strresult == ab
strresult = str.right(2); //strresult == cd
四、其他型別與cstring型別的轉換,cstring str;
1、格式化字串format:實現從int、long等數值型別、tchar、tchar*等型別向cstring型別轉換(注:tchar、tchar*等型別向cstring型別轉換,可以直接賦值)
– cstring -> int:_ttoi()
– cstring -> tchar* :
1)tchar* t = str.getbuffer(); str.releasebuffer();
2)tchar* t = (lptstr)(lpctstr)str;
五、cstring物件的ansi與unicode轉換
1、當前工程環境unicode(窄位元組(ansi)向寬位元組(unicode)轉換)
cstring str;
str = 「abc」;
char* p = 「defg」;
str = p;
2、當前工程環境非unicode(寬位元組向窄位元組轉換)
cstring str;
str = l」abc」;
wchar_t* p = l」defg」;
str = p;
六、cstring物件包含字串所占用的位元組數
cstring str;
int n = str.getlength() * sizeof(tchar);
**錯誤的求法:sizeof(cstring)、sizeof(str),這是求指標長度,總是為4
………………………………………………………………………………………………………………
我的使用:
目的:提取出郵件位址
from: 「[email protected]」 [email protected]
int idx=contents1.reversefind(『
contents1=contents1.right(contents1.getlength()-idx);
輸出結果:[email protected]
擷取字串
static function blogsummary str,len 100 else out valtmp break tmp tmpstr outlen mb strlen valtmp,charset out val.rs 2 key right rs 2 key unset rs tags...
擷取字串
擷取字串一般使用string類的substring方法。public string substring int beginindex 返回該字串子串的新字串。子字串開始於指定的位置並且擴充套件到該字串的結尾。public string substring int beginindex,int end...
擷取字串
題目要求 編寫乙個擷取字串的程式,輸入為乙個字串和乙個位元組數字,輸出為按位元組擷取的字串,保證漢字不被擷取半個,如 eg 我abc 4 擷取 我ab eg 我abc漢def 6 擷取 我abc 而不是 我abc 漢 的半個解題思路 那麼擷取字串時考慮當前字元是否為漢字的一部分,如果不是漢字則計數位...