c 语言字符串拆分
时间: 2024-04-26 11:18:58 浏览: 158
在C语言中,字符串拆分是指将一个字符串按照指定的分隔符进行分割,得到多个子字符串的过程。C语言提供了一些函数来实现字符串拆分操作,其中最常用的是strtok函数。
strtok函数的原型如下:
```c
char *strtok(char *str, const char *delim);
```
该函数接受两个参数,第一个参数是要拆分的字符串,第二个参数是分隔符。函数会将第一个参数指向的字符串按照第二个参数指定的分隔符进行拆分,并返回拆分后的第一个子字符串的指针。之后每次调用该函数时,传入NULL作为第一个参数,函数会继续返回下一个子字符串的指针,直到所有子字符串都被返回。
以下是一个示例代码,演示了如何使用strtok函数进行字符串拆分:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello,World,CSDN";
const char delim[] = ",";
char *token = strtok(str, delim);
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, delim);
}
return 0;
}
```
运行上述代码,输出结果为:
```
Hello
World
CSDN
```
需要注意的是,strtok函数会修改原始字符串,将分隔符替换为'\0'。如果不希望修改原始字符串,可以使用其他方法实现字符串拆分,比如使用strsep函数或自己编写循环逻辑进行拆分。
阅读全文