C語言中的 strtok() 是什麼函式?
strtok() 函式是<string.h>標頭檔案的一部分#include <string.h>
strtok()函式的語法如下:
char* strtok(char* string, const char* limiter);
輸入字串string及分隔符limiter。strtok()會根據分隔符將字串分解為幾個部分。
我們可以從strtok()得到一系列字串。然而,該函式返回一個字串,因為在呼叫strtok(input, limiter)後,它會返回第一個部分。
但是,我們必須繼續反覆呼叫該函式,在輸入字串為NULL時,直到得到NULL。我們一般先呼叫strtok(NULL, delim),直到返回NULL為止。
示例
以下為strtok() 函式的C程式:
#include <stdio.h>
#include <string.h>
int main() {
char input_string[] = "Hello Tutorials Point!";
char token_list[20][20];
char* token = strtok(input_string, " ");
int num_tokens = 0; // Index to token list. We will append to the list
while (token != NULL) {
strcpy(token_list[num_tokens], token); // Copy to token list
num_tokens++;
token = strtok(NULL, " "); // Get the next token. Notice that input=NULL now!
}
// Print the list of tokens
printf("Token List:
");
for (int i=0; i < num_tokens; i++) {
printf("%s
", token_list[i]);
}
return 0;
}輸出
執行以上程式後,將生成以下結果:
Token List: Hello Tutorials Point!
輸入字串為“Hello Tutorials Point”,我們試圖用空格對其進行標記化。
我們使用 strtok(input, " ") 來獲取第一個部分。這裡的引號是分隔符,是一個單一字元的字串!
之後,我們繼續使用 strtok(NULL, " ") 來獲取標記,並且在從 strtok() 中獲取到 NULL 時結束迴圈。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP