"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo convierto una cadena C ++ std :: a un char* o char []?

¿Cómo convierto una cadena C ++ std :: a un char* o char []?

Publicado el 2025-03-23
Navegar:709

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

Convertir std :: string a char* o char []

Converting A std :: String a char * o [&] char [] tipos de datos en c. Convert.

Método 1: usando c_str ()

para obtener una versión c-string del método

std :: string , use el método c_str () . Este método devuelve un const char . Para un char , use . Data () :

std :: string str = "string"; const char *cstr = str.c_str (); // const char* char *cstr = str.data (); // no enconst char*
std::string str = "string";
const char *cstr = str.c_str(); // const char*
char *cstr = str.data(); // non-const char*

Método 2: Copiar en un vector

copiar el

std :: string caracteres en un std :: vector : [&] std :: vector

std::string str = "string";
const char *cstr = str.c_str(); // const char*
char *cstr = str.data(); // non-const char*
Método 3: Manual Array Asignation (no recomendado)

asigna manualmente una matriz para la cena:

const Char *cstr = new Char [str.size () 1]; std :: strcpy (cstr, str.c_str ()); // ... usa la matriz ... eliminar [] cstr;

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

o . Data () .

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3