Solución:
c_str
devuelve un const char*
que apunta a una cadena terminada en nulo (es decir, una cadena de estilo C). Es útil cuando desea pasar el “contenido” ¹ de un std::string
a una función que espera trabajar con una cadena de estilo C.
Por ejemplo, considere este código:
std::string str("Hello world!");
int pos1 = str.find_first_of('w');
int pos2 = strchr(str.c_str(), 'w') - str.c_str();
if (pos1 == pos2) {
printf("Both ways give the same result.n");
}
Míralo en acción.
Notas:
¹ Esto no es del todo cierto porque un std::string
(a diferencia de una cadena C) puede contener el