关于C++标准库string::substr的用法陷阱

Posted on 2012-07-29 09:56 卡洛shll 阅读(1706) 评论(0)  编辑 收藏 引用 所属分类: C/C++
      今天由于项目中需要对一些文本做字符串处理后生成string,插入map。
      刚开始时,我就打算用std::string处理结果,久没用突显生疏啊,看到find_first_of()就望文生义了,调试了半天才发现这是对传入字符串的每个字符的查找函数,赶紧撤出,去cplusplus reference逛了逛,发现我用错了,应该使用find()才能解决我的需求,find已经轻车上路,问题又来了,到了截获字段这步了,当然,只能用substr()了,由于久没用到,对第二参数n传入的时候发生了错误认识,n应该是字符的计数,第一个参数应该是要截获的子字符串的头位置,我把第二个参数以结束位置的方式传入了,唉。。。怪不得调试了半天。。。说是陷阱,也是我马虎大意的表现啊。。。不应该,如果参数为count那就直观多了。这里又引申一个问题:变量命名,其实这是个很现实的问题,为了增加开发效率,开发人员有必要对变量进行管理。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理