Programación General > C/C++

 como convertir un char a string

(1/2) > >>

gerarca:
hola!! estoy tratando de comvertir un dato char a string miren lo que estoy haciendo:+

#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;

int main()
{
char rc ={1};
string sl = new string(rc);

system("pause");
return 0;
}

pero me esta dando una error, haber que estoy haciendo mal??

m0skit0:
No puedes convertir un char a string, no son tipos de datos compatibles. Lo que puedes hacer es crear un string y meterle dicho char.


--- Código: C++ ---string str;char c;str.push_back(c); 

gerarca:
pero entonces que me aconsejas que haga, porque fijate lo que estoy haciendo, tengo esta cadena arr[3]={ 'C', 'A', 'S', 'A' }, Y busco convertirla a un string para formar una palabra de modo que la guarde en una variable de tipo string, ejemplo: c = "casa"; que me aconsejarias???

m0skit0:
Eso que haces es (casi) lo mismo que char* arr = "CASA". De hecho, hacerlo de esta última forma es mejor puesto que así tienes el carácter nulo terminador de cadena (''). De tu forma no hay manera de saber cuándo acaba la cadena a menos que sepas su longitud. Además, es arr[4] y no arr[3], ya que tiene 4 elementos y no 3.

Igualmente, tal y como comentas se podría hacer tal que


--- Código: C++ ---char arr[4] = {'C', 'A', 'S', 'A'};int i;string str;for(i = 0; i < 4; i++){    str.push_back(arr[i]);} Insisto que esa forma de declarar el array me parece mala ya que sólo complica innecesariamente el asunto. Teniendo una cadena de caracteres estándar de C (terminada en ''), basta con


--- Código: C++ ---char* arr = "CASA";string str(arr); 
Saludos

gerarca:
muchas gracias! me sirvió con el str.push_back(arr).... gracias!!!! :comp:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa