Programación General => C/C++ => Mensaje iniciado por: gerarca en Lunes 21 de Marzo de 2011, 05:03
Título: como convertir un char a string
Publicado por: gerarca en Lunes 21 de Marzo de 2011, 05:03
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??
Título: Re: como convertir un char a string
Publicado por: m0skit0 en Lunes 21 de Marzo de 2011, 09:46
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);
Título: Re: como convertir un char a string
Publicado por: gerarca en Lunes 21 de Marzo de 2011, 15:30
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???
Título: Re: como convertir un char a string
Publicado por: m0skit0 en Lunes 21 de Marzo de 2011, 15:53
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
Título: Re: como convertir un char a string
Publicado por: gerarca en Lunes 21 de Marzo de 2011, 17:05
muchas gracias! me sirvió con el str.push_back(arr).... gracias!!!! :comp:
Título: Re: como convertir un char a string
Publicado por: m0skit0 en Lunes 21 de Marzo de 2011, 17:54