[C++] Conversión mutua entre el tipo de cadena y algunos otros tipos

       Una de las grandes diferencias entre c y c++ es que en c++ puedes declarar directamente variables de cadena haciendo referencia al archivo de encabezado de cadena, mientras que en c solo puedes declarar char s[n] para ingresar una cadena. De esta manera, cómo se convierte el tipo de cadena hacia y desde otros tipos para facilitar nuestro uso se convierte en un conocimiento relativamente básico que debemos dominar.

1. Convertir el tipo de cadena en matriz

  Método 1:

      Tome prestada la función c_str() encapsulada en la clase de cadena. (Esta función devuelve la primera dirección de la cadena)

std::string s1;
const char* s;
s1 = "haohaoxeuxi";
s = s1.c_str();
std::cout<<s[0]<<std::endl;;
for(int i = 0; s[i] != '\0'; i++)
{
    std::cout<<s[i];
}

El tipo de valor de retorno de c_str() es de tipo const char* y debe recibirse en el mismo tipo.

Houji:

Utilice la función strcopy() para copiar el contenido de la cadena en una matriz (los parámetros de la función strcpy() son dos direcciones)

std::string s1;
char s[20];
s1 = "haohaoxuexi";
strcpy(s, s1.c_str());
std::cout<<s[0]<<std::endl;
for(int i = 0; s[i] != '\0'; i++)
{
    std::cout<<s[i];
}

Al utilizar este método, asegúrese de hacer referencia al archivo de encabezado <cstring>

Método tres:

Convertir cadena directamente a matriz

std::string s;
s = "haohaoxuexi";
std::cout<<s[0]<<std::endl;
for(int i = 0; s[i] != '\0'; i++)
{
    std::cout<<s[i];
}

De hecho, se puede convertir directamente. . . .

2. Convertir un número entero en una cadena

Referencia del archivo de encabezado <sstream>

int a1 = 123456;
std::string s1;
std::stringstream ss;
ss << a1;
ss >> s1;
std::cout<<s1<<std::endl;
std::cout<<s1[1];

ss sirve como variable intermedia y se puede implementar con flujo de datos.

Por ahora, limitémonos a estos dos que se usan con más frecuencia, jaja.

Supongo que te gusta

Origin blog.csdn.net/m0_73747975/article/details/130703177
Recomendado
Clasificación