Heim > Backend-Entwicklung > C++ > Wie kann ich einen std::string mit einem eingebetteten Nullzeichen erstellen?

Wie kann ich einen std::string mit einem eingebetteten Nullzeichen erstellen?

DDD
Freigeben: 2024-12-14 17:50:12
Original
787 Leute haben es durchsucht

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

Erstellen eines std::string mit eingebettetem Nullzeichen

Beim Versuch, einen std::string mit einem eingebetteten Nullzeichen mit einer Syntax wie zu erstellen std::string my_string("a\0b");, es wird nur ein Zeichen beibehalten. Dies liegt daran, dass der std::string-Konstruktor einen C-String erwartet, der nullterminiert ist. Bei der Begegnung mit dem Nullzeichen wird die Analyse angehalten.

Um einen std::string mit einer eingebetteten Null korrekt zu erstellen, berücksichtigen Sie die folgenden Ansätze:

C 14 und höher:

Führen Sie String-Literale mit dem Suffix s ein, um einen std::string zu erstellen, ohne die Nullzeichen zu interpretieren. Dies kann erreicht werden mit:

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

Vor C 14:

Verwenden Sie einen String-Konstruktor, der ein Zeichenarray und seine Länge akzeptiert:

Denken Sie daran, dass std::string keine Nullterminierung verwendet. Über die Methode c_str() können Sie jedoch einen Zeiger auf einen internen Puffer erhalten, der einen C-String enthält.

Das obige ist der detaillierte Inhalt vonWie kann ich einen std::string mit einem eingebetteten Nullzeichen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage