首页 > 安全资讯 >

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

12-02-12

1.strtok是c的一个字符串分割函数,由于使用了一个全局static变量,所以它是线程不安全的.2.当风格"a,,b,c"这样的两个分隔符挨着的字符串时候,会得到a、b、c三个字符,而不是a、空字符、b、c3.解决办法就是将连续的...

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
相关文章
最新文章
热点推荐