Comment convertir un tableau de caractères en chaîne de caractères en C++
-
Utilisez le constructeur
std::stringpour convertir un tableau decharen chaîne -
Utilisez la fonction
memmovepour convertir un tableau de caractères en chaîne de caractères -
Utilisez
std::basic_string::assignMéthode pour convertir un tableau de caractères en chaîne de caractères
Cet article présente plusieurs méthodes pour convertir un tableau de char en un conteneur de chaîne.
Utilisez le constructeur std::string pour convertir un tableau de char en chaîne
Dans cet exemple, nous déclarons une chaîne de caractères C constante, qui est ensuite utilisée comme paramètre de construction de la chaîne. Cette méthode calcule automatiquement la longueur de la chaîne. Après l’appel du constructeur, nous pouvons manipuler la variable tmp_string si nécessaire.
#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;
}
Production:
This will be stored in std::string
Utilisez la fonction memmove pour convertir un tableau de caractères en chaîne de caractères
Une méthode plus simple consiste à copier les données de char* dans un conteneur de chaîne initialisé. De cette façon, vous devez connaître à l’avance la longueur du tableau “char” pour le passer dans la fonction memmove. Notez que l’initialisation du conteneur string est critique pour un comportement correct, et c’est pourquoi nous remplissons la variable tmp_string avec 0x01 octets.
#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;
}
Notez que vous pouvez aussi copier les données de la c_string vers la tmp_string en utilisant diverses fonctions comme : memcpy, memccpy, mempcpy, strcpy ou strncpy, mais lisez attentivement les pages du manuel et tenez compte de leurs bogues.
Utilisez std::basic_string::assign Méthode pour convertir un tableau de caractères en chaîne de caractères
Comme l’exemple précédent, cette méthode nécessite la longueur du tableau “char”. Nous définissons un pointeur de char nommé tmp_ptr et nous lui attribuons l’adresse du premier caractère dans tmp_string.
#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 FacebookArticle connexe - C++ Char
- Compter les occurrences d'un caractère dans String C++
- Obtenir la valeur ASCII de Char en C++
- Comment convertir ASCII en caractères en C++
- Comment convertir Int en Char Array en C++
- Comment convertir un tableau de caractères en Int en C++
Article connexe - C++ String
- Comparaison de chaîne et de caractère en C++
- Supprimer le dernier caractère d'une chaîne en C++
- Obtenir le dernier caractère d'une chaîne en C++
- Différences entre l'opérateur sizeof et la fonction strlen pour les chaînes en C++
- Effacer la chaîne en C++
- Imprimer toutes les permutations de la chaîne en C++
