今天在弄一下啊小小程序的时候。报错,出现了问题。先看代码

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"

转载于:https://www.cnblogs.com/jzssuanfa/p/7026213.html

关于使用strtok的一个小问题相关推荐

  1. Python:通过一个小案例深入理解IO多路复用

    通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...

  2. 熬夜写了一个小游戏,向SpaceX聊表敬意

    2019独角兽企业重金招聘Python工程师标准>>> 这是我长久放在桌面上的一张图片. 这张照片的名字叫做 Pale Blue Dot(暗淡蓝点),是旅行者1号在距地球64亿公里回 ...

  3. 一个小需求,能够做到月活跃用户5000万,就是真牛逼!

    来自:Java面试那些事儿 这篇文章是之前写的文章,我觉得还是对不少同学有所帮助,因为生活让大家都太浮躁,很难沉下心来认真做一件事,本文既是给大家推荐一款好用的Chrome插件,同时也给大家讲述这款插 ...

  4. 怎么用linux设计一个小程序,“Linux”小程序发布一个月后,我们发现了什么

    原标题:"Linux"小程序发布一个月后,我们发现了什么 这一个月来,这个小程序得到了八千多人的使用,一百多位贡献者实际参与了翻译贡献,其中贡献最高的"Datura st ...

  5. 一个小清新的知识管理和问题讨论平台

    在上一期的<一个小团队使用的知识管理方案与工具>推文中,我们介绍了一些 Atlassian Confluence(简称 Confluence)的一些基本特性. 今天的这篇推文主要来介绍一下 ...

  6. 制作一个查询信息程序_三步学会制作一个小程序

    小程序在刚出现的时候简直是惊艳了整个业界,不管什么内容,光是那酷炫的交互效果就足以篇篇刷屏了,再加上"用完即走",不用安装.不占用内存.入口众多等特性.不过早期由大厂商的专业程序员 ...

  7. 一个小程序引发的思考

    既然是一个小程序引发的思考,那么我们就先看看这个小程序,看看他有何神奇之处: namespace ConsoleApplication1 {class Program{static void Main ...

  8. 小程序工程化实践(上篇)-- 手把手教你撸一个小程序 webpack 插件,一个例子带你熟悉 webpack 工作流程...

    本文基于 webpack 4 和 babel 7,Mac OS,VS Code 小程序开发现状: 小程序开发者工具不好用,官方对 npm 的支持有限,缺少对 webpack, babel 等前端常用工 ...

  9. 先定一个小目标,自己封装个ajax

    你是否发现项目中有很多页面只用到了框架不到十分之一的内容,还引了压缩后还有70多kb的jquery库 你是否发现项目中就用了两三个underscore提供的方法,其他大部分的你方法你甚至从来没有看过 ...

最新文章

  1. NR 5G 世界通信发展史简述
  2. 最长递增子序列 最长连续递增序列
  3. 最新优质网站联盟大全(个人站长必知)
  4. 安装 VMware Tools
  5. python画矩形函数drawrectangle_Python3 tkinter基础 Canvas create_rectangle 画矩形
  6. MOSS工作流任务权限控制
  7. python入门之函数调用第三关-Python 基础3 函数function
  8. 本工具仅仅交流之用,把黑群晖洗白用,如果对此感兴趣请支持正版,请勿用于违法,作者不承担法律和相关连带责任,工具内有详细sn算号器,可供使用还有教程
  9. 传奇世界手游公益服【剑指轩辕2】服务端搭建源码使用指南
  10. ui设计网站资料大全,你想要的都有
  11. 矩阵的卷积以及使用python计算方法
  12. VC6中如何让改变控件Botton的字体(大小和字体)
  13. 随机,摇号、彩票,生成随机数或是随机字符串(万能的evaluate) 。如何找到随机中的规律
  14. CSS设置元素内边距(padding)、外边距(margin)
  15. 基频和倍频的概念_一倍频分析
  16. automake,autoconf使用详解
  17. 震旦复印机扫描到服务器文件夹,震旦打印一体机扫描文件上传到win2016共享文件夹,不能上传...
  18. 自动驾驶的大脑——芯片简介
  19. @Async不生效原因
  20. 青龙面板 ---- 省钱钱

热门文章

  1. .net wap强制输出WML
  2. mysql挂科了咋办_大一挂科很难受怎么办?
  3. pip 升级_python的pip命令
  4. pch在c语言中占内存字节数,2018年9月计算机二级C语言考试章节习题及答案(6).docx...
  5. mysql需要备份的数据_Mysql根据需要备份数据
  6. js 刷新页面但是不闪烁_前端开发还在手动刷新页面?手把手教你搭建一个自动刷新工具...
  7. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环
  8. 使用Python,OpenCV进行Tesseract-OCR绑定及识别
  9. python基础--urllib
  10. C++:随笔6---new\delete\虚方法\抽象方法