MFC拆分字串

2021-07-03 02:40:10 字數 2599 閱讀 4821

一._tcstok函式

mfc中,乙個

cstring str=「ab ac dd pm」

,怎麼把他分開成ab和

ac和dd和

pm這四個字串,類似

string

的split

的功能?

_tcstok宣告標頭檔案:

char* _tcstok( char* strtoken, const

char* strdelimit );

該函式是可以從乙個

cstring

串中,根據提供的分隔符,擷取並返回乙個乙個的

token;

引數

strtoken: 

是乙個要分析的串;這個串中包含乙個或者多個

token

,當然還有分隔符,也有可

能有其他的字元;

strdelimit: 

是分隔符;根據分隔符把

strtoken

中的token

分析出來;

//**********====test1:_tcstok*************** //

將以空格符為分隔符對str進行分割

cstring

str = _t("192.168.89.125");

tchar

seps = _t(".");

tchar* token = _tcstok( (lptstr)(lpctstr)str, seps );

while( token != null )

//**********====test1:end***************===

執行結果如下:

str=192  token=192

str=192  token=168

str=192  token=89

str=192  token=125

第一次呼叫的時候,函式會忽略出現在

strtoken

串開始的分隔符,返回找到的

token

指標,用空字元(

null character 

)替換掉已經查詢到的部分(包括分隔符)並把「新

」串儲存到乙個

static

變數中(系統來完成);

如果下次呼叫時第乙個引數為

null

的話,函式從

static

變數中取出串,根據分隔符得到並返回新

token

,用空字元(

null character 

)替換掉已經查詢到的部分(包括分隔符)並重新儲存「新

」串;如此迴圈,直到迴圈條件結束。

參考

也可以使用char *  __cdeclstrtok(char *, const

char *);(包含在標頭檔案中)

參考:

二.afxextractsubstring函式

此外,用afxextractsubstring函式可解析復合串。包含在標頭檔案

<

afxwin.h

>中。

bool

afxextractsubstring(cstring& rstring, lpctstr

lpszfullstring, int

isubstring, tchar

chsep

/* = */ )

引數

rstring

:用來存放你取出的子串

lpszfullstring

:要拆分的整個字串

isubstring

:你要取的子字串位置,從0開始

chsep

:特定分割符

//*****===test2:afxextractsubstring*****===

cstring

str = _t("192.168.89.125");

cstring

output = "";

for (int

i=0; i

<4; i++)

//**********====test2:end***************===

執行結果如下:

192168 89

125參考

三.自定義函式字串分割函式

void

split(cstring

source, cstring

divkey, cstringarray& dest)

}引數:

source

:待分割的源串

divkey:

分割符

dest:

分割結果字串陣列

參考

拆分字串

拆分乙個字串,獲取每一組的key與value。如字串 qq adf f qewr98 eer d9adf t ad34 f qewrqr u adf43 gggg 2344 按照物件導向理念來解決,建立乙個物件 這個是對物件物件,有key和value兩個特性。我們需要把拆分好的資料臨時儲存起來,現在...

拆分字串

本函式可以將 目標字串 以 指定字串 進行拆分,並通過表結構返回結果。如下 create or replace type str split is table of varchar2 4000 create or replace function splitstr p string in varch...

拆分字串

拆分乙個字串,獲取每一組的key與value。如字串 qq adf f qewr98 eer d9adf t ad34 f qewrqr u adf43 gggg 2344 按照物件導向理念來解決,建立乙個物件 這個是對物件物件,有key和value兩個特性。我們需要把拆分好的資料臨時儲存起來,現在...