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。
请注意,此函数会修改原始字符串,将分隔符替换为 null 终止字符,以便每个标记都可以拥有自己的 null 终止字符。
strtok()
函数定义在 <string.h>
头文件中。
语法
strtok(char * str, const char * delimiters);
参数值
参数 | 描述 |
---|---|
str | 必需。 指向要开始分割的字符串的指针。第一次调用后,将 NULL 传递给此参数以从同一字符串获取更多部分。 |
delimiters | 必需。 要搜索的分隔符集。当找到这些字符中的任何一个时,标记就会结束。 |
技术详情
返回 | 一个 char 类型指针,指向原始字符串中某个标记的位置,如果不再有标记,则返回 NULL。 |
---|