直接使用临时变量导致的一个bug记录

①原来的代码:
char *dst = (char*)src.c_str();
//省略对dst进行操作
②改正后的代码:
char dst[256] = { };
::strncpy(dst, src(), sizeof(dst) - 1);
dst[sizeof(dst) - 1] = '\0';
//省略对dst进行操作
③参考文献:
http://baike.baidu.com/view/1600698.htm
http://blog.csdn.net/tigerjb/article/details/6412759
http://www.cplusplus.com/reference/string/string/c_str/
http://www.yanyufly.com/2010/07/28/string%E7%B1%BB%E4%B8%ADdata%E5%92%8Cc_str%E7%9A%84%E5%8C%BA%E5%88%AB/
posted @ 2012-02-08 22:30  MikeLin  阅读(132)  评论(0编辑  收藏  举报