Strtok什么意思
strtok
是 C 語言中的一個函式,用於將一個字元串按照分隔設定進行分解。這個函式的原型通常如下所示:
char *strtok(char *str, const char *delim);
strtok
函式的作用是將 str
參數指定的字元串按照 delim
參數指定的分隔設定進行分解,返回下一個子字元串的指針。如果 str
中有分隔設定,strtok
將會返回第一個分隔設定之前的子字元串。
strtok
函式的工作方式是「貪婪」的,它會儘可能多地匹配分隔設定,並將匹配到的分隔設定之前的子字元串返回。如果 str
參數中沒有找到任何分隔設定,strtok
將會返回 NULL。
strtok
函式通常用於解析命令行參數、檔案路徑或者其他需要按照分隔設定分解字元串的場景。
下面是一個簡單的例子,展示了如何使用 strtok
函式將一個字元串按照空格分隔設定進行分解:
#include <stdio.h>
#include <string.h>
int main() {
char *str = "Hello World";
char *delim = " ";
char *token;
token = strtok(str, delim); // 取第一個子字元串
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, delim); // 取下一個子字元串
}
return 0;
}
在這個例子中,strtok
函式第一次調用時,str
參數指向整個字元串 "Hello World",delim
參數指向空格分隔設定。strtok
返回 "Hello"。在第二次調用時,strtok
函式的 str
參數被設定為 NULL,它會從上次停止的地方繼續分解字元串,返回 "World"。這個循環會一直繼續,直到 strtok
返回 NULL,表示沒有更多子字元串可以分解。