在 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.