char *strtok(char *s, const char *delim);
#include <string.h>
將字符串 s 按分隔符字符串 delim 中的任意字符分割為一系列標記(token)。分隔符字符串可包含多個字符,任意一個匹配即視為分隔點。
s 指向要分割的字符串。s 必須傳 NULL,函數會從上次位置繼續分割。NULL。s 會被修改(分隔符位置替換為 \0),不可用於常量字符串。strtok_r (POSIX) 或 strtok_s (C11)。#include <stdio.h>
#include <string.h>
int main(void) {
char str[] = "C,語言,字符串,分割,示例";
const char *delim = ",";
char *token = strtok(str, delim);
while (token) {
printf("Token: %s\n", token);
token = strtok(NULL, delim);
}
return 0;
}
/* 輸出:
Token: C
Token: 語言
Token: 字符串
Token: 分割
Token: 示例
*/
strtok("a,b", ","))導致未定義行為(段錯誤)。