首页 >后端开发 >C++ >如何创建带有嵌入空字符的 std::string?

如何创建带有嵌入空字符的 std::string?

DDD
DDD原创
2024-12-14 17:50:12788浏览

How Can I Create a std::string with an Embedded Null Character?

构造带有嵌入空字符的 std::string

尝试使用以下语法创建带有嵌入空字符的 std::string 时std::string my_string("a\0b"); 只保留一个字符。发生这种情况是因为 std::string 构造函数需要一个以 null 结尾的 C 字符串。遇到 null 字符时,解析会停止。

要正确构造嵌入 null 的 std::string,请考虑以下方法:

C 14 及更高版本:

使用 s 后缀引入字符串文字来创建 std::string 而不解释空字符。这可以通过以下方式实现:

std::string s = "pl-<pre class="brush:php;toolbar:false">std::string x("pqrs", 5);
-op"s;

Before C 14:

利用接受字符数组及其长度的字符串构造函数:

请记住,std::string 不使用空终止。但是,通过 c_str() 方法,您可以获得指向包含 C 字符串的内部缓冲区的指针。

以上是如何创建带有嵌入空字符的 std::string?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn