"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como converter uma string c ++ std :: para um char* ou char []?

Como converter uma string c ++ std :: para um char* ou char []?

Postado em 2025-03-23
Navegar:530

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

convertendo std :: string em char* ou char []

convertendo um para Convert. Método 1: usando c_str ()

para obter uma versão c-string do std :: string , use o

c_str ()

method. Este método retorna um const char . Para um char não-consiga , use . Data () : std :: string str = "string"; const char *cstr = str.c_str (); // const char* char *cstr = str.data (); // non-consalt char*

Método 2: copiando em um vetor
std::string str = "string";
const char *cstr = str.c_str(); // const char*
char *cstr = str.data(); // non-const char*

copiar o std :: string em um

std :: vector

str.c_str () str.size () 1); char *ptr = cstr.data (); // Ponteiro para C-String Método 3: Alocação de matriz manual (não recomendada)

std::vector cstr(str.c_str(), str.c_str()   str.size()   1);
char *ptr = cstr.data(); // pointer to c-string

É crucial lembrar que o gerenciamento manual de memória pode levar a erros. Como prática recomendada, prefira usar .

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3