c语言splitstr
时间: 2023-06-21 14:09:55 浏览: 65
C语言中没有现成的splitstr函数,但是可以通过自己编写函数实现字符串拆分的功能。下面是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char** splitstr(char* str, char* delim, int* count) {
char** result = NULL;
char* token = strtok(str, delim); // 使用strtok函数拆分字符串
*count = 0;
while (token != NULL) {
result = realloc(result, sizeof(char*) * (*count + 1)); // 使用realloc函数动态分配内存
result[*count] = token;
(*count)++;
token = strtok(NULL, delim);
}
return result;
}
int main() {
char str[] = "Hello,world,how,are,you?";
char delim[] = ",";
int count;
char** result = splitstr(str, delim, &count);
for (int i = 0; i < count; i++) {
printf("%s\n", result[i]);
}
free(result); // 释放内存
return 0;
}
```
上述代码中,使用strtok函数对字符串进行拆分,将拆分结果存储在一个动态分配的二维字符数组中,并通过一个指针参数返回结果数组的长度。注意在使用完结果数组后需要手动释放内存。
阅读全文