Home > Backend Development > C++ > body text

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

DDD
Release: 2024-11-27 09:30:14
Original
128 people have browsed it

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

Incorporating Embedded Nulls in std::string: A Comprehensive Guide

If you desire to create a std::string containing an embedded null character, you must tackle various syntax nuances depending on the C version you employ.

C 14 and Beyond: Introducing String Literals

C 14 introduced string literals, providing a convenient method for constructing std::strings with embedded nulls:

#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
Copy after login
-op"s; // Notice the "s" at the end, indicating a std::string literal std::cout << s << "\n"; }

Pre-C 14: Using Character Arrays

Before C 14, the std::string constructor expecting a const char* assumed C-strings, which are null-terminated. To overcome this, you must use the constructor that takes a char array and a length:

<🎝🎝🎝>

Key Points

  • std::strings are not null-terminated, but you can obtain a C-string pointer with the c_str() method.
  • Doug T's answer suggests using a vector as an alternative approach.

    The above is the detailed content of How Can I Embed Null Characters in a C std::string?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template