在 C 语言中,strtok 函数用于将字符串分割成一系列标记(tokens),这些标记由一个或多个指定的分隔符字符分隔。要指定多个分隔符,您只需在 strtok 的第二个参数中列出这些字符,而无需对它们进行任何特殊的转义处理(除非它们是字符串字面量中的特殊字符,如双引号或反斜杠)。
例如,如果您想使用逗号 , 和空格 ' ' 作为分隔符来分割字符串
在这个例子中,strtok 会将 str 分割成由逗号 , 或空格 ' ' 分隔的标记,并逐个打印出来。注意,strtok 函数会修改原始字符串 str,将分隔符替换为 null 字符 '\0'。
#include <stdio.h>
#include <string.h>
int main()
{
char str[] = "Hello, world! This is a test.";
char *token;
char delimiters[] = " ,"; // 注意:分隔符之间不需要转义,除非它们是字符串字面量中的特殊字符
// 获取第一个标记
token = strtok(str, delimiters);
// 循环获取后续标记
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, delimiters); // 在后续调用中,第一个参数应为 NULL
}
}
编译:
g++ -o test3 3.cpp
运行结果:
./test3
Hello
world!
This
is
a
test.
2796

被折叠的 条评论
为什么被折叠?



