C语言 字符切割封装函数
时间: 2023-05-18 14:06:59 浏览: 96
可以使用 strtok 函数来实现字符切割,以下是一个简单的封装函数示例:
```c
#include <stdio.h>
#include <string.h>
char *strsplit(char *str, const char *delim) {
static char *p = NULL;
if (str != NULL) {
p = str;
}
if (p == NULL) {
return NULL;
}
char *ret = p;
p = strpbrk(p, delim);
if (p != NULL) {
*p++ = '\0';
}
return ret;
}
int main() {
char str[] = "hello,world";
char *token;
while ((token = strsplit(str, ",")) != NULL) {
printf("%s\n", token);
}
return 0;
}
```
该函数使用了静态变量来保存当前字符串的位置,每次调用时返回下一个切割出来的子串。
相关问题
C语言,字符串切割成为指定的长度存入指定大小的数组内,并且封装成为一个指针函数
可以使用 strncpy 函数将字符串切割成指定长度,然后使用一个循环将切割后的字符串存入指定大小的数组内。最后,将数组封装成为一个指针函数即可。
以下是示例代码:
char** split_string(char* str, int len, int size) {
char** result = (char**)malloc(size * sizeof(char*));
int i, j;
for (i = 0; i < size; i++) {
result[i] = (char*)malloc((len + 1) * sizeof(char));
strncpy(result[i], str + i * len, len);
result[i][len] = '\0';
}
return result;
}
阅读全文