"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment convertir une chaîne c ++ std :: en char * ou char []?

Comment convertir une chaîne c ++ std :: en char * ou char []?

Publié le 2025-03-23
Parcourir:964

How Do I Convert a C   std::string to a char* or char[]?

Convertir std :: string en char * ou char []

convertissant un std :: string en char * ou car Convert.

Méthode 1: Utilisation de C_Str ()

Pour obtenir une version en C-string de la méthode

std :: string , utilisez la méthode c_str () . Cette méthode renvoie un const char . Pour un char non-conforme , utilisez . Data () :

std :: string str = "String"; const char * cstr = str.c_str (); // const char * char * cstr = str.data (); // non-CONST CHAR *
std::string str = "string";
const char *cstr = str.c_str(); // const char*
char *cstr = str.data(); // non-const char*

Méthode 2: Copie dans un vecteur

Copier les caractères

std :: string en un std :: vector : std :: Vector cstr. str.c_str () str.size () 1); char * ptr = cstr.data (); // pointeur vers C-string

std::string str = "string";
const char *cstr = str.c_str(); // const char*
char *cstr = str.data(); // non-const char*
Méthode 3: allocation manuelle du tableau (non recommandé)

Allouer manuellement un tableau pour le C-string:

const char * cstr = new Char [str.size () 1]; std :: strcpy (cstr, str.c_str ()); // ... utilisez le tableau ... supprimer [] cstr;

const char *cstr = new char[str.size()   1];
std::strcpy(cstr, str.c_str());
// ... use the array ...
delete [] cstr;
. C_STR ()

ou . Data () .

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3