<分区>
我不明白如果从 string.c_str() 返回的 char * 指向相同的缓冲区(并且不制作任何拷贝)它是如何以 null 终止的?该函数是否在字符串末尾添加空终止符?如果缓冲区没有任何额外的字节来存储它会发生什么?
谢谢。
<分区>
我不明白如果从 string.c_str() 返回的 char * 指向相同的缓冲区(并且不制作任何拷贝)它是如何以 null 终止的?该函数是否在字符串末尾添加空终止符?如果缓冲区没有任何额外的字节来存储它会发生什么?
谢谢。
最佳答案
自 C++11 起,字符串在内部以 null 结尾,并且 both c_str()
and data()
return the same thing .
关于c++ - std::string 的 c_str() 函数如何返回空终止字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50833602/