请问C里有没有分隔字符串的函数
时间:2010-09-09
来源:互联网
aaa|bbb|ccc
我想通过|拆分后赋予变量后写入数据库
作者: hxl 发布时间: 2010-09-09
strchr
作者: ecjtubaowp 发布时间: 2010-09-09
作者: hellioncu 发布时间: 2010-09-09
作者: huailian1216 发布时间: 2010-09-09
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-
- int get_clone_split(char **array, size_t array_num, const char *str, const char *tok, char **free_p)
- {
- int i = 1;
- char *p;
-
- *free_p = strdup(str);
- p = *free_p;
-
- if (!p)
- return 0;
-
- array[0] = p;
-
- while (*p && i < array_num)
- {
- if (strchr(tok, *p))
- {
- *p = '\0';
- array[i++] = p+1;
- }
- p ++;
- }
- return i;
- }
-
- void free_clone_split(char **free_p)
- {
- if (*free_p)
- {
- free(*free_p);
- *free_p = NULL;
- }
- }
-
- #define ARRAY_NUM 10
- int main()
- {
- const char *p = "[email protected]|HD|BJ|CHINA|2010-10-10";
- char *array[ARRAY_NUM] = {0};
- char *free_p = NULL;
- int split_num = 0;
- int i;
-
- split_num = get_clone_split(array, ARRAY_NUM, p, "|@.-", &free_p);
-
- for (i = 0; i < split_num; i++ )
- {
- printf("%s\n", array[i]);
- }
-
- free_clone_split(&free_p);
- return 0;
- }
作者: zhangsuozhu 发布时间: 2010-09-09
作者: 幻の上帝 发布时间: 2010-09-09
- #include <stdlib.h>
- #include <string.h>
-
- int split_callback(const char *str, const char *tok, void (*callback)(char *, void *), void *callback_param)
- {
- char *p;
- char *phead;
- char *clone_str = strdup(str);
-
- int i = 1;;
-
- p = clone_str;
-
- if (!p) return 0;
-
- phead = p;
-
- while (*p)
- {
- if (strchr(tok, *p))
- {
- *p = '\0';
- callback(phead, callback_param);
- phead = p+1;
- i ++;
- }
- p ++;
- }
- callback(phead, callback_param);
- free(clone_str);
- clone_str = NULL;
- return i;
- }
-
- void print_str(char *str, void *other)
- {
- printf("%s\n", str);
- }
-
- int main()
- {
- const char *p = "[email protected]|HD|BJ|CHINA|2010-10-10";
- split_callback(p, "@|.-", print_str, NULL);
- return 0;
- }
作者: zhangsuozhu 发布时间: 2010-09-09
作者: 论坛ID 发布时间: 2010-09-09
作者: hxl 发布时间: 2010-09-09
作者: hxl 发布时间: 2010-09-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28