C++ cstring strtok() 函式
示例
使用空格作為分隔符來分割句子中的單詞
char myStr[] = "Learn C++ at W3schools";
char * myPtr = strtok(myStr, " ");
while(myPtr != NULL) {
cout << myPtr << "\n";
myPtr = strtok(NULL, " ");
}
自己動手試一試 »
定義和用法
strtok()
函式使用分隔符將 C 風格字串分割成多個部分(稱為“令牌”)。
第一次呼叫 strtok()
時,應傳入指向要分割的字串的指標,而後續呼叫則應使用 NULL 作為引數。每次呼叫函式時,都會返回指向不同令牌的指標,直到沒有更多令牌為止。此時,每次函式呼叫都會返回 NULL。
請注意,此函式會修改原始字串,用空終止字元替換分隔符,以便每個令牌都有自己的空終止字元。
strtok()
函式定義在 <cstring>
標頭檔案中。
語法
strtok(char * str, const char * delimiters);
引數值
引數 | 描述 |
---|---|
str | 必需。指向要開始分割的字串的指標。第一次呼叫後,將 NULL 傳遞給此引數,以從同一字串中獲取更多部分。 |
delimiters | 必需。要搜尋的分隔符集合。找到其中任何一個字元時,令牌就結束了。 |
技術詳情
返回 | 指向原始字串中某個令牌位置的 char 型別指標,如果沒有更多令牌,則返回 NULL。 |
---|