C 字符串分割为数组
时间: 2023-02-25 13:52:58 浏览: 60
在 C 语言中,可以使用字符串函数 strtok() 将字符串分割为数组。
strtok() 函数的原型为:
```
char *strtok(char *str, const char *delim);
```
其中,str 是要分割的字符串,delim 是分割字符串时使用的分隔符。
使用 strtok() 函数时,需要注意以下几点:
1. strtok() 函数会修改传入的字符串,将其中的分隔符替换为 null 字符。
2. strtok() 函数是不能处理连续的分隔符的。如果遇到连续的分隔符,则会跳过这些分隔符。
3. strtok() 函数是线程不安全的。在多线程环境下使用时,需要加锁保护。
下面是一个使用 strtok() 函数将字符串分割为数组的示例代码:
```
#include <stdio.h>
#include <string.h>
#define MAX_TOKENS 10
int main() {
char str[] = "hello,world,this,is,a,test";
char *delim = ",";
char *tokens[MAX_TOKENS];
int i = 0;
char *token = strtok(str, delim);
while (token != NULL && i < MAX_TOKENS) {
tokens[i++] = token;
token = strtok(NULL, delim);
}
for (int j = 0; j < i; j++) {
printf("%s\n", tokens[j]);
}
return 0;
}
```
输出结果如下:
```
hello
world
this
is
a
test
```
阅读全文