


Wie kann ich in C einen „std::string' mit eingebetteten Nullzeichen erstellen?
Erstellen eines std::string mit einer eingebetteten Null: Eine eingehende Untersuchung
Beim Erstellen eines std::string aus einem String-Literal, das eine eingebettete Null enthält B. „std::string my_string(“a\0b“);“, darf nur das erste Zeichen in der resultierenden Zeichenfolge vorhanden sein. Um dieser Herausforderung zu begegnen, können je nach verwendeter C-Version verschiedene Ansätze verwendet werden.
C 14 und höher
Ab C 14 erhielten String-Literale die Fähigkeit, Zeichen darzustellen, die eingebettete Nullen umfassen . Durch Anhängen des Suffixes „s“ an ein String-Literal kann es als std::string-Literal und nicht als C-String-Literal behandelt werden. Zum Beispiel:
std::string s = "pl-<pre class="brush:php;toolbar:false">std::string x("pq\0rs"); // Two characters because input assumed to be C-String std::string x("pq\0rs",5); // 5 Characters as the input is a char array with 5 characters.
Lösungen vor C 14
Vor C 14 geht der std::string-Konstruktor, der ein char* akzeptiert, davon aus, dass die Eingabe ein C-String ist, was der Fall ist nullterminiert. Zum Ausgleich muss ein anderer Konstruktor verwendet werden, der ein char-Array und seine Länge akzeptiert:
Es ist wichtig zu beachten, dass std::string in C im Gegensatz zu C-Strings nicht nullterminiert ist. Die c_str()-Methode kann jedoch einen Zeiger auf einen internen Puffer bereitstellen, der eine nullterminierte C-String-Darstellung enthält.
Das obige ist der detaillierte Inhalt vonWie kann ich in C einen „std::string' mit eingebetteten Nullzeichen erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?
