CString字串查詢和擷取

2021-08-21 12:11:46 字數 1406 閱讀 4442

1、find()

該函式從左側0索引開始,查詢第乙個出現的字元位置,返回position。示例如下:

cstring s( "abcdef" );

assert( s.find( 'b' ) == 1 );

int  f = s.find( "de" ) ;    // 結果 f = 3

返回值:

•如果查到,返回以0索引起始的位置

•未查到,返回-1

2、findoneof()

給定一字串,然後查詢其中出現的第乙個字元位置,示例如下:

cstring s( "abcdef" );

assert( s.findoneof( "zb" ) == 1 );

返回值:

•如果查到,返回以0索引起始的位置

•未查到,返回-1

3、reversefind()

該函式反向(從右向左)查詢字元最後一次出現的位置。示例如下:

cstring s( "abcd" );

assert( s.reversefind( 'b' ) == 2 );

返回值:

•如果查到,返回以0索引起始的位置

•未查到,返回-1

二、cstring之left()、mid()、right()

查詢完成後,我們可能需要擷取字串。cstring有如下幾個字串擷取函式。

1、left(int ncount)

該函式擷取左側ncount個字元,如果遇到雙位元組字元(下面mid和right同樣理解),比如中文,則可能會截斷亂碼。因為ncount是按照位元組計數的。

2、mid(int nfirst)和mid( int nfirst, int ncount)

mid(int nfirst)函式擷取從nfirst開始,直到字串結束的字串。

mid( int nfirst, int ncount)函式則擷取從nfirst開始,擷取ncount個位元組字元。

3、right(int ncount)

該函式擷取右側ncount個位元組字元。

left()、mid()、right()函式示例如下:

cstring s="天緣部落格";//_t("天緣部落格")

cstring s1=s.left(3);//天?

cstring s2=s.mid(3);//?部落格

cstring s3=s.right(3);//?客

s="123456789";

s1=s.left(3);   //123

s2=s.mid(3);    //456789

s3=s.right(3);  //789

CString字串查詢和擷取

該函式從左側0索引開始,查詢第乙個出現的字元位置 cstring str abc int postion str.find a 如果查到,返回以0索引起始的位置 未查到,返回 1。給定一字串,然後查詢其中出現的第乙個字元位置 cstring str abc int position str.find...

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

CString擷取字串方法

c中cstring型別好像沒有像string.substring parame 這樣類似的函式來從字串中直接分離子串,但是我們可以借助cstring的幾個函式來實現。在cstring中有find delete left right mid 就可以實現分離子串的目的了。intfind tchar ch...