可能重复:
字符串c_str()与data()
我strncpy(dest, src_string, 32)用来转换std::string为char[32]使我的C++类与遗留的C代码一起使用.但是std :: string的c_str()方法总是返回一个以null结尾的字符串吗?
Mik*_*our 23
std :: string的c_str()方法总是返回以null结尾的字符串吗?
是.
它的规格是:
返回:一个指针
p,p + i == &operator[](i)用于每个iin[0,size()].
请注意,指定的范围i是关闭的,因此这size() 是一个有效的索引,指的是字符串末尾之后的字符.
operator[] 由此指定:
返回:
*(begin() + pos)ifpos < size(),否则引用T具有value 的类型的对象charT()
在的情况下std::string,这是一个别名std::basic_string<char>,这样charT就是char,一个值构造的char具有零值; 因此,结果指向的字符数组std::string::c_str()是零终止的.
| 归档时间: |
|
| 查看次数: |
12204 次 |
| 最近记录: |