关于使用strtok的一个小问题
来源:互联网 发布:如何购买淘宝客户资料 编辑:程序博客网 时间:2024/04/29 20:35
今天在弄一下啊小小程序的时候,报错,出现了问题,先看代码
int main(int argc, char* argv[]){ char *filename = "interface_ipset_1_1.json";char* split1 = "_";char* split2 = ".";char splitfile1[4][NAME_MAX]; sagent_string_split(filename,split1,splitfile1,4);printf("1 = %s.",splitfile1[0]); reuturn 0;}
int32_t sagent_string_split(char * str, const char * split, char split_str[][NAME_MAX], int32_t max_num){ if (st== NULL || split == NULL || split_str == NULL || max_num <= 0) { printf("sagent_string_split params have error!\n"); }char* result = NULL;char* endstr = NULL; result = strtok_r(str, split,&endstr); int32_t i = 0; while (result ) { if (i >= max_num) { printf("split num is more than max_num = %d.", max_num); return -1; } printf("i = %d,result = %s",i,result); strncpy(split_str[i++], result, NAME_MAX - 1); result = strtok(NULL, split); } return 0;}int main(int argc, char* argv[]){ char *filename = "interface_ipset_1_1.json";char* split1 = "_";char* split2 = ".";char splitfile1[4][NAME_MAX]; sagent_string_split(filename,split1,splitfile1,4);printf("1 = %s.",splitfile1[0]); reuturn 0;}
在执行这个程序的时候,报错,Segmentation fault 这个错误,哪踩内存了呢。原来char *filename = "interface_ipset_1_1.json"; 这样声明是 一个常量,不可更改的,而strtok在使用过程中会把它进行修改,造成了错误。所以需要注意。可以这样声明char filename[64] = "interface_ipset_1_1.json"
0 0
- 关于使用strtok的一个小问题
- 关于strtok的参数问题
- 杭电水题--排序 关于strtok的一些问题
- 关于使用JSONObject出现的一个小问题
- 关于NavigationView在使用中遇到的一个小问题
- 遇到关于strtok的一个问题,郁闷了好一会儿终于找到答案
- 关于strtok的用法
- 关于JAVA import 的一个小问题
- 关于csdn博客的一个小问题
- 关于csdn博客的一个小问题
- 关于csdn博客的一个小问题
- 关于csdn博客的一个小问题
- 关于csdn博客的一个小问题
- 关于csdn博客的一个小问题
- 关于csdn博客的一个小问题
- 关于csdn博客的一个小问题
- 关于csdn博客的一个小问题
- 关于JAVA的一个小问题--请老鸟们帮下忙
- CVPR读书笔记[5]:Gabor特征提取之Gabor核的实现
- HDU 1151 Air Raid 【二分图+增广路】
- 检验一个windows登录账户是否为管理员账户
- 配置文件的读与写(一)
- <a> 的target 属性
- 关于使用strtok的一个小问题
- 我看PS求职简历照
- Codeforces Round #261 (Div. 2)B. Pashmak and Flowers
- 算法——动态规划
- 013
- AsyncSocket长连接粘包问题解决方案
- UVa-10050-Hartals
- 求出某个月或某年有多少天,如2008年2月或2008年?
- HDU 2444 The Accomodation of Students(判断是否是二分图)