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。 |
---|