c Csring 擷取字串

2021-07-24 23:20:22 字數 2326 閱讀 2094

關於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 漢 的半個解題思路 那麼擷取字串時考慮當前字元是否為漢字的一部分,如果不是漢字則計數位...