Heim > Artikel > Backend-Entwicklung > Wie konvertiere ich einen C-String in ein Zeichenarray?
Konvertieren von Zeichenfolgen in Zeichenarrays in C
Bei der Arbeit mit Zeichenfolgen in C kann es vorkommen, dass Sie eine Zeichenfolge in ein Zeichenarray konvertieren ist notwendig. Im Gegensatz zur Konvertierung in Zeichenzeiger (char*) zielen Sie jedoch auf die direkte Konvertierung in ein Zeichenarray fester Größe (char[]).
Um diese Konvertierung zu erreichen, ziehen Sie die folgenden Methoden in Betracht:
Methode 1: Verwendung von strcpy und c_str()
string temp = "cat"; char tab2[1024]; strcpy(tab2, temp.c_str());
Diese Methode verwendet die strcpy-Funktion, um die Zeichenfolge in das Zeichenarray zu kopieren. c_str() konvertiert die Zeichenfolge in ein nullterminiertes Zeichenarray.
Methode 2: Verwendung von strncpy und c_str()
Für erhöhte Sicherheit können Sie strncpy verwenden, um Stellen Sie sicher, dass keine Pufferüberläufe auftreten:
string temp = "cat"; char tab2[1024]; strncpy(tab2, temp.c_str(), sizeof(tab2)); tab2[sizeof(tab2) - 1] = 0;
strncpy kopiert eine angegebene Anzahl von Zeichen in das Array und setzt das letzte Zeichen auf Null.
Methode 3: Verwenden von New und c_str( )
string temp = "cat"; char *tab2 = new char [temp.length()+1]; strcpy(tab2, temp.c_str());
Diese Methode weist dynamisch Speicher für das Zeichenarray zu und verwendet dann strcpy zum Kopieren.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich einen C-String in ein Zeichenarray?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!