Wie konvertiert man ein Char-Array in eine Zeichenkette in C++
-
Verwenden Sie den
std::string
-Konstruktor, um einchar
-Array in einenstring
zu konvertieren -
Verwenden Sie die Funktion
memmove
, um ein Char-Array in einen String zu konvertieren -
Verwenden Sie die Methode
std::basic_string::assign
, um ein Char-Array in einen String zu konvertieren
Dieser Artikel stellt mehrere Methoden vor, um ein char
-Array in einen string
-Container zu konvertieren.
Verwenden Sie den std::string
-Konstruktor, um ein char
-Array in einen string
zu konvertieren
In diesem Beispiel deklarieren wir eine konstante C-Zeichenkette, die dann als Zeichenkette
-Konstruktparameter verwendet wird. Diese Methode berechnet die Länge der Zeichenkette automatisch. Nach dem Konstruktoraufruf können wir die tmp_string
Variable nach Bedarf manipulieren.
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
int main() {
const char* c_string = "This will be stored in std::string";
string tmp_string(c_string);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
Ausgabe:
This will be stored in std::string
Verwenden Sie die Funktion memmove
, um ein Char-Array in einen String zu konvertieren
Ein einfacherer Weg ist es, char*
Daten in einen initialisierten string
Container zu kopieren. Auf diese Weise müssen Sie die Länge des Arrays char
im Voraus kennen, um sie in der Funktion memmove
zu übergeben. Beachten Sie, dass die Initialisierung des string
-Containers entscheidend für das korrekte Verhalten ist, und deshalb füllen wir die tmp_string
-Variable mit 0x01 Bytes.
#include <cstring>
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
constexpr int C_STRING_LENGTH = 34;
int main() {
const char* c_string = "This will be stored in std::string";
string tmp_string(C_STRING_LENGTH, 1);
memmove(&tmp_string[0], c_string, C_STRING_LENGTH);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
Beachten Sie, dass Sie auch c_string
-Daten nach tmp_string
kopieren können, indem Sie verschiedene Funktionen wie memcpy
, memccpy
, mempcpy
, strcpy
oder strncpy
, aber lesen Sie bitte sorgfältig die Handbuchseiten und beachten Sie deren Grenzfälle/Fehler.
Verwenden Sie die Methode std::basic_string::assign
, um ein Char-Array in einen String zu konvertieren
Wie das vorherige Beispiel erfordert diese Methode die Länge des char
-Arrays. Wir definieren einen char
-Zeiger namens tmp_ptr
und weisen ihm die Adresse des ersten Zeichens in tmp_string
zu.
#include <iostream>
#include <string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
constexpr int C_STRING_LENGTH = 34;
int main() {
const char* c_string = "This will be stored in std::string";
string tmp_string;
tmp_string.assign(c_string, C_STRING_LENGTH);
cout << tmp_string << endl;
return EXIT_SUCCESS;
}
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookVerwandter Artikel - C++ Char
- Anzahl der Vorkommen eines Zeichens in String C++
- ASCII-Wert von Char in C++ abrufen
- Wie man ASCII in C++ in Zeichen konvertiert
- Wie konvertiert man ein Char-Array nach Int in C++
- Wie konvertiert man Zeichenketten in C++ in ein Char-Array
Verwandter Artikel - C++ String
- Finden Sie das erste sich wiederholende Zeichen in einer Zeichenfolge in C++
- Finden Sie die längste gemeinsame Teilzeichenfolge in C++
- Großschreiben des ersten Buchstabens einer Zeichenfolge in C++
- Vergleich von String und Character in C++
- Entfernen Sie das letzte Zeichen aus einer Zeichenkette in C++
- Abrufen des letzten Zeichens einer Zeichenkette in C++