C 字符串 strtok() 函数
示例
使用空格作为分隔符,将句子中的单词分开。
char myStr[] = "Learn C++ at W3schools";
char * myPtr = strtok(myStr, " ");
while(myPtr != NULL) {
cout << myPtr << "\n";
myPtr = strtok(NULL, " ");
}
自己尝试 »
定义和用法
strtok()
函数使用分隔符将字符串拆分为多个部分(称为“标记”)。
第一次调用 strtok()
应该包含指向要拆分的字符串的指针,而任何后续调用都应该使用 NULL 作为参数。每次调用该函数时,都会返回指向不同标记的指针,直到没有更多标记为止。此时,每次函数调用都返回 NULL。
请注意,此函数会修改原始字符串,将分隔符替换为空终止字符,以便每个标记都可以拥有自己的空终止字符。
strtok()
函数在 <string.h>
头文件中定义。
语法
strtok(char * str, const char * delimiters);
参数值
参数 | 描述 |
---|---|
str | 必需。指向要开始拆分的字符串的指针。在第一次调用后,将 NULL 传递给此参数以从同一字符串获取更多部分。 |
delimiters | 必需。要搜索的一组分隔符。找到任何一个这些字符时,标记结束。 |
技术细节
返回值 | 一个 char 类型指针,指向原始字符串中某个标记的位置,如果不再有标记,则返回 NULL。 |
---|