CString擷取字串方法

2021-08-16 10:46:24 字數 1299 閱讀 3688

c中cstring型別好像沒有像string.substring(parame)這樣類似的函式來從字串中直接分離子串,但是我們可以借助cstring的幾個函式來實現。

在cstring中有find(),delete(),left(),right(),mid()就可以實現分離子串的目的了。

intfind( tchar ch ) const;

找到給定的字元返回它在字串中對應的索引號;沒有找到就返回-1。

intdelete( int nindex, int ncount = 1);

返回值是被刪除前的字串的長度,nindex是第乙個被刪除的字元索引,ncount是一次刪除幾個字元。當ncount過大,沒有足夠的字元刪除時,此函式不執行。

cstringleft( int ncount ) const;

返回的字串是前ncount個字元。

cstringmid( int nfirst ) const;

cstringmid( int nfirst, int ncount ) const;

ncount代表要提取的字元數, nfirst代表要提取的開始索引位置

cstringright( int ncount ) const;

返回的字串是後ncount個字元。

簡例:cstringstr(」mynameisrenzheng」);

cstringstr1, str2, str3;

intx,y;

x=str.find(_t("n"));   //2

y=str.delete(0,5);  // 16

str1 =str.left(3);   // myn

str2 =str.mid(11, 4);  //zhen。注意,第二個引數是代表子串的長度

str3 =str.right(3);  // eng

假使有cstring str=_t("my name is ren zheng");

按空格提取子串可以採用如下方法:

cstringstr=_t("my name is ren zheng");

carraystrarray;  //定義乙個cstring型別的動態陣列,用來訪問cstring型別物件。

while(str.find(_t(" "))+1)//當找不到空格時返回-1,所以這裡我用它返回值加1來迴圈

strarray.add(str);//最後加上經過最終刪除後剩下的字串;

這樣按空格分離出的子串就都儲存在動態cstring型別的陣列物件strarray中去了,現在就可以用strarray. get_r(i)來得到每個子串;

**:

C string 擷取字串

string str 123abc456 int i 3 1 取字串的前i個字元 str str.substring 0,i or str str.remove i,str.length i 2 去掉字串的前i個字元 str str.remove 0,i or str str.substring i...

C string常用擷取字串方法

string常用擷取字串方法有很多,但是配合使用以下兩種,基本都能滿足要求 find string strsub,npos find last of string strsub,npos 其中strsub是需要尋找的子字串,npos為查詢起始位置。找到返回子字串首次出現的位置,否則返回 1 注 1 ...

CString 擷取字串全攻略

函式在比較時不區分大小寫 引數 為要和物件比較的字串,也可以為cstring物件 返回值 如果兩個字串一樣則返回0 intstrcmp constchar constchar string2 注 函式在比較時區分大小寫 引數 為要和物件比較的字串 返回值 string1 string2返回0 str...