C语言 strtok 函数详解:字符串分割利器
strtok 是 C 语言中的一个字符串处理函数,用于将一个字符串分割成若干个子字符串。它的原型定义在 <string.h> 头文件中。
函数原型: char *strtok(char *str, const char *delim);
函数参数:
- str:需要分割的字符串,第一次调用时传入待分割的字符串,后续调用传入 NULL。
- delim:分割字符串的分隔符,可以是一个字符串,也可以是多个字符的组合。
函数返回: 返回分割后的子字符串,如果没有找到分隔符,则返回 NULL。
函数使用: strtok 函数会从待分割的字符串中找到第一个分隔符,并将其替换为字符串结束符 \0,然后返回分割前的子字符串的指针。下一次调用 strtok 时,传入 NULL 作为第一个参数,则会接着上一次的位置继续分割。
需要注意的是,strtok 函数会修改原始的字符串,因此如果需要保留原始字符串,可以先将其拷贝到一个新的字符串中再进行分割。
示例代码:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello World! This is a test.";
char *token;
// 第一次调用,传入待分割的字符串
token = strtok(str, " ");
// 后续调用,传入 NULL
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, " ");
}
return 0;
}
输出结果:
Hello
World!
This
is
a
test.
原文地址: https://www.cveoy.top/t/topic/CZB 著作权归作者所有。请勿转载和采集!