Heim >Backend-Entwicklung >C++ >Wie kann ich Nullzeichen in einen C-std::string einbetten?
Wenn Sie einen std::string erstellen möchten, der ein eingebettetes Nullzeichen enthält, müssen Sie verschiedene Maßnahmen ergreifen Syntaxnuancen abhängig von der von Ihnen verwendeten C-Version.
C 14 führte String-Literale ein und bot eine praktische Methode zum Konstruieren von std::strings mit eingebetteten Nullen:
#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"; }
Vor C 14 nahm der std::string-Konstruktor, der ein const char* erwartete, C-Strings an, die nullterminiert sind. Um dies zu umgehen, müssen Sie den Konstruktor verwenden, der ein char-Array und eine Länge benötigt:
<🎝🎝🎝>Das obige ist der detaillierte Inhalt vonWie kann ich Nullzeichen in einen C-std::string einbetten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!