当前位置:编程学习 > 网站相关 >>

strtok两个连续分隔符当作一个提取的问题,字符分割线程安全性

1.strtok是c的一个字符串分割函数,由于使用了一个全局static变量,所以它是线程不安全的.
 
2.当风格"a,,b,c"这样的两个分隔符挨着的字符串时候,会得到a、b、c三个字符,而不是a、空字符、b、c
 
3.解决办法就是将连续的分割替换成比如:Replace(",,",",|,"),然后再使用strtok字符分割函数。那么会得到:
 
 a、|、b、c,然后判定下字符是不是|,替换成空字符就是了。
 
4.如果存在,,,,这样多个连续分隔符,那么就多使用几次Replace(",,",",|,")就好了。
 
 摘自 http://hi.baidu.com/it_security/blog/item/f4a2576253b24d7f0d33fa06.html
补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,