原型:char *strtok(char *s, const char *delim)
標頭檔案:#include
strtok()函式分割字串為一組字串。引數s為想要分割的字串,引數delim則為分割字串中包含的所有字元,delimiters支援多個分割符。
當strtok()在引數s的字串中發現引數delim中包涵的分割字元時,則會將該字元改為『\0』 字元。
在第一次呼叫時,strtok()必需給予引數s字串,之後的呼叫則將引數s設定成null,每次呼叫成功則返回下乙個分割後的字串指標。
s開頭開始的乙個個被分割的串。當沒有被分割的串時則返回null。
所有delim中包含的字元都會被濾掉,查詢分隔符字串時,跳過連續的相同分隔符,這樣可以忽略連續分隔符之間的空串,並將被濾掉的地方設為一處分割的節點。
strtok()函式分割後會改變原字串,使用時務必小心。
demo1(delim只有乙個分割字元):
#include #include int main()
return 0;
}
輸出:
demo2(delim支援多個分割字元):
#include #include int main()
return 0;
}
輸出:
demo3(strtok會改變原字串):
#include #include int main()
printf("after strtok, str=%s\n", str);
return 0;
}
輸出:
VC中,字串的分割
想請教下,在vc當中,要重新寫乙個 類似 split 的 類該怎麼做?現在的要求是,對乙個字串進行分割,並放到陣列當中去.基本實現想法如下 定義 char str 256 123,456,789 10 將要被分割的字串 char pstrbuf 256 字串陣列,用來存放分開的字串 int nbuf...
字串分割函式
這幾天處理字串,突然遇到字串分割問題,上網查了一些資料後,找到這兩個函式,strtok與strsep函式。網上舉的例子千篇一律,下面我根據函式的實現原始碼,記錄一下使用說明,供大家討論,歡迎大牛拍磚!ps 找個庫函式原始碼的 查詢 真不容易,先找到了這個 之後,發現了經常去找軟體的oschina有原...
VC 字串轉化和分割
備忘 為了適用於unicode環境,要養成使用 t 巨集的習慣 1 格式化字串 cstring s s.format t the num is d.i 2 轉為 int 轉10進製最好用 ttoi 它在 ansi 編碼系統中被編譯成 atoi 而在 unicode 編碼系統中編譯成 wtoi 用 t...