C string strtok() 函数

定义和用法

strtok() 函数使用分隔符将字符串拆分为多个部分(称为“标记”)。

第一次调用 strtok() 时,应传入指向要拆分的字符串的指针,而后续调用则应使用 NULL 作为参数。每次调用该函数时,都会返回一个指向不同标记的指针,直到没有更多标记为止。此时,每次函数调用都会返回 NULL。

请注意,此函数会修改原始字符串,将分隔符替换为空终止字符,以便每个标记都有自己的空终止字符。

strtok() 函数定义在 <string.h> 头文件中。

实例

使用空格作为分隔符来分离句子中的单词:

char myStr[] = "Learn C++ at W3schools";
char * myPtr = strtok(myStr, " ");
while(myPtr != NULL) {
  cout << myPtr << "\n";
  myPtr = strtok(NULL, " ");
}

亲自试一试

语法

strtok(char * str, const char * delimiters);

参数

参数 描述
str

必需。指向要开始拆分的字符串的指针。

第一次调用后,对此参数传递 NULL 以从同一字符串中获取更多部分。

delimiters

必需。要搜索的一组分隔符。

当找到这些字符中的任何一个时,标记结束。

技术细节

返回:

返回指向原始字符串中一个标记位置的 char 类型指针。

如果没有更多标记,则返回 NULL

相关页面

教程:C 字符串

教程:C 字符串函数