首页 >后端开发 >C++ >如何在 C std::string 中嵌入空字符?

如何在 C std::string 中嵌入空字符?

DDD
DDD原创
2024-11-27 09:30:14145浏览

How Can I Embed Null Characters in a C   std::string?

在 std::string 中合并嵌入空值:综合指南

如果您希望创建包含嵌入空字符的 std::string,您必须解决各种问题语法细微差别取决于您使用的 C 版本。

C 14 及更高版本:字符串简介文字

C 14 引入了字符串文字,为构造带有嵌入空值的 std::strings 提供了一种便捷的方法:

#include <iostream>
#include <string>

using namespace std::string_literals;

int main() {
    std::string s = "pl-<pre class="brush:php;toolbar:false">std::string x("pqrs");   // Two characters, as input is interpreted as a C-string
std::string x("pqrs", 5); // 5 Characters, as input is now a char array with 5 characters
-op"s; // Notice the "s" at the end, indicating a std::string literal std::cout << s << "\n"; }

Pre-C 14:使用字符数组

在 C 14 之前,需要 const char* 的 std::string 构造函数假定为以 null 结尾的 C 字符串。为了克服这个问题,您必须使用采用 char 数组和长度的构造函数:

关键点

  • std::string 不是以 null 结尾的,但是您可以使用 c_str() 方法获取 C 字符串指针。
  • Doug T 的回答建议使用矢量作为替代方法。

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

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