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...