Comment convertir un tableau de caractères en chaîne de caractères en C++
-
Utilisez le constructeur
std::string
pour convertir un tableau dechar
en chaîne -
Utilisez la fonction
memmove
pour convertir un tableau de caractères en chaîne de caractères -
Utilisez
std::basic_string::assign
Mé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++