char *strtok(char s, const char *delim);
分解字串為一組字串。s為要分解的字串,delim為分隔符字元(如果傳入字串,則傳入的字串中每個字元均為分割符)。首次呼叫時,s指向要分解的字串,之後再次呼叫要把s設成null。
strtok函式會破壞被分解字串的完整,呼叫前和呼叫後的s已經不一樣了。
從s開頭開始的乙個個被分割的字串。當s中的字元查詢到末尾時,返回null。
如果查詢不到delim中的字元時,返回當前strtok的字串的指標。
所有delim中包含的字元都會被濾掉,並將被濾掉的地方設為一處分割的節點。
當strtok()在引數s的字串中發現引數delim中包含的分割字元時,則會將該字元改為\0 字元。
strtok()必需給予引數s字串,往後的呼叫則將引數s設定成null。每次呼叫成功則返回指向被分割出片段的指標。
char
* buf =
null
;char
*buf1,
*buf2,
*buf3;
char data[20]
="abc,def,gh"
;buf = data;
cout <<
"buf:"
<< buf << endl;
buf1 =
strtok
(buf,
",")
;cout <<
"buf[1]:"
<< buf1 << endl;
buf2 =
strtok
(null
,",");
//為null,之前strtok將buf置為null
cout <<
"buf[2]:"
<< buf2 << endl;
buf3 =
strtok
(null
,",");
cout <<
"buf[3]:"
<< buf3 << endl;
輸出buf:abc,def,gh
buf[1]
:abc
buf[2]
:def
buf[3]
:gh--
----
----
----
----
----
----
----
-------
char
* buf =
null
;char
*buf1,
*buf2,
*buf3;
char data[20]
="abc,def,gh"
;buf = data;
buf1 =
strtok
(buf,
",")
; cout <<
"buf[1]:"
<< buf1 << endl;
buf2 =
strtok
(buf,
",")
;//buf的話還是呼叫之前的
cout <<
"buf[2]:"
<< buf2 << endl;
buf3 =
strtok
(buf,
",")
;cout <<
"buf[3]:"
<< buf3 << endl;
輸出:buf[1]
:abc
buf[2]
:abc
buf[3]
:abc
strtok(分割字串)
strtok 分割字串 表頭檔案 include 定義函式 char strtok char s,const char delim 函式說明 strtok 用來將字串分割成乙個個片段。引數s指向欲分割的字串,引數delim則為分割字串,當strtok 在引數s的字串中 發現到引數delim的分割字元...
分割字串 strtok 函式
在這個競爭的社會,對手無處不在,相信好勝心或者自尊心每個人都有,別人想要時時刻刻處處都要超越你,面對競爭對手或許它會採取各種手段來對付你,不要不相信,這種無恥的人是有的,那麼對待它們首先要做到的一點就是忍,暴力是衝動的不明智的選擇,它只會使你滿足一瞬間的慾望,卻會給自己帶來無窮的傷害,甚至會毀掉自己...
字串分割函式strtok
分解字串為一組字串。s為要分解的字串,delim為分隔符字串。例如 strtok abc,def,ghi 最後可以分割成為abc def ghi.尤其在點分十進位制的ip中提取應用較多。strtok 用來將字串分割成乙個個片段。引數s指向欲分割的字串,引數delim則為分割字串中包含的所有字元。當s...