C++标准库中string长度的一点注意。

首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

C++标准库中string长度的一点注意。

作者:  时间: 2011-06-11

在string类之间进行复制没有什么问题。
但是要拷贝到内存中时就要注意。一定要在string取出的长度上加1。
如下
char buf[256];
std::string str = "1234567890";
memcpy( buf, str.c_str(), str.length()+1 );
这样才能拷贝到字符串的结束符‘0’。要不就拷贝不到。
string的length函数只计算有效字符的长度。如同C中的strlen函数。