如果您希望创建包含嵌入空字符的 std::string,您必须解决各种问题语法细微差别取决于您使用的 C 版本。
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"; }
在 C 14 之前,需要 const char* 的 std::string 构造函数假定为以 null 结尾的 C 字符串。为了克服这个问题,您必须使用采用 char 数组和长度的构造函数:
以上是如何在 C std::string 中嵌入空字符?的详细内容。更多信息请关注PHP中文网其他相关文章!