std :: string' c_str()函数如何返回空终止字符串?

时间:2018-06-13 09:22:45

标签: c++ string stdstring null-terminated c-str

我无法理解从string.c_str()返回的char *是否指向同一个缓冲区(并且没有进行任何复制),它是如何以null结尾的?该函数是否在字符串的末尾添加了null-terminator?如果缓冲区没有任何额外的字节来存储它会发生什么?

感谢。

1 个答案:

答案 0 :(得分:1)

从C ++ 11开始,字符串在内部以空值终止,both c_str() and data() return the same thing