改进strtok是不可以嵌套使用的问题
2013-06-16 14:53
176 查看
strtok是不可以嵌套使用的!
刚才写程序的时候,在while循环里面调用了另一个函数,里面嵌套了strtok,总是得不到预想的结果,(调试了半天,才最后把焦点落到了C库里的strtok函数)。
这算是strtok的一个bug;
因为在while循环里面的strtok返回的值为NULL,改变了上层strtok函数的全局变量值,不能再继续默认的使用strtok(NULL,“”);这一写法,可能需要我们个人手动改进上层循环的NULL值,记录下strtok分隔后的位移值,然后再次分隔时,把NULL值改成上次分隔后的首地址,继续向后搜索分隔;
alpha_search_word()函数里嵌套了另一个strtok函数 ,因为strtok分隔后只是在第一个找到的分隔符替换成'\0',故可以直接找到剩下句子的首地址,char *index_2=index+strlen(index)+1;程序运行过后,完美支持。
这是个人的一个想法,其他朋友有更好的办法,期待分享。
刚才写程序的时候,在while循环里面调用了另一个函数,里面嵌套了strtok,总是得不到预想的结果,(调试了半天,才最后把焦点落到了C库里的strtok函数)。
这算是strtok的一个bug;
因为在while循环里面的strtok返回的值为NULL,改变了上层strtok函数的全局变量值,不能再继续默认的使用strtok(NULL,“”);这一写法,可能需要我们个人手动改进上层循环的NULL值,记录下strtok分隔后的位移值,然后再次分隔时,把NULL值改成上次分隔后的首地址,继续向后搜索分隔;
alpha_search_word()函数里嵌套了另一个strtok函数 ,因为strtok分隔后只是在第一个找到的分隔符替换成'\0',故可以直接找到剩下句子的首地址,char *index_2=index+strlen(index)+1;程序运行过后,完美支持。
这是个人的一个想法,其他朋友有更好的办法,期待分享。
相关文章推荐
- Android ExpandableListview+Listview嵌套使用出现的问题解决办法
- MySql 数据库group by 的用法,order by 嵌套使用。优化问题
- 解决sqlserver使用IP无法连接的问题,用localhost或者‘“.”可以连接
- 使用Ajax.net遇到的问题-使用会话时提示错误"只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态
- 只有一个公网IP也可以使用LVS的DR模式!(外带php session粘滞问题解决)
- 在使用 <s:iterator value="#request.students"></s:iterator> 无法显示数据,而 ${request.students[0].id} 却可以显示时问题
- 使用POI生成Excel文件,可以自动调整excel列宽遇到的问题及解决
- 使用freemarker导出word,wps可以打开,office打不开问题
- Regex.Split 在分割 "|" 符号时出现问题,应该使用 "[|]" 才可以分组
- div嵌套时,内部div使用margin引发的问题
- 关于使用apktool可以反编译无法回编译的解决问题
- 使用iframe进行框架嵌套的问题
- 母版页可以多层嵌套使用
- ThinkPHP问题收集:模板中使用U方法时无法嵌套大括号,For标签,插入数据,新增的表字段缓存问题
- ajax使用post提交参数java后台获取值为null但是get却可以获取的问题
- 在使用AsyncTask的时候我们可以看到几个明显的缺陷和问题
- PostgreSQL: 数据迁移之序列问题(也可以使用在所有使用序列数据库上,比如Oracle)
- 关于EditText与ScrollView嵌套使用时候出现的Edittext自动滚动至最顶部的问题
- 在Fragment中使用viewPager嵌套Fragment遇到的问题(双侧viewpager)
- AD用户修改密码,新旧密码都可以使用问题