Hola como estan, quisiera saber si alquien sabe como convertir una string a char
ya que lo nesesito para la funcion.
void outtextxy (int x, int y, char *textstring);
y ya probe con:
//char *nombre = strdup(nombrePer.c_str());
//sprintf(cadena, "%c", nombrePer);
//strcpy(cadena,nombrePer.c_str());
Y sique sin funcionarme.
gracias de antemano y saludos a todos.
No me ha quedado claro, si te refieres a esto:
string nombre = "Hola";
funcion(Hola.c_str());
O si te refieres a:
char* nombre = "Cosa";
funcion(string(nombre));
Hola gracias por contestar
si no me equivoco
la cadena hola pasa a la funcion y convierte hola en una cadena de caracteres no?
string nombre = "Hola";
funcion(Hola.c_str());
// Y en este caso la variable nombre va a recibir la cadena de caracteres no?
char* nombre = "Cosa";
funcion(string(nombre));
gracias por contestar de nuevo.
Hola ya se por que no me hace la convercion
tengo cin.ignore(); despues que me lee la cadena pero no me muestra la cadena,
lo hice con cin >> cadena y despues
strcpy(cadena2,nombrePer.c_str());
y hace la convercion pero no acepta espacios.
Tienes que explicar de una forma mas clara y detallada tu problema.
Cita de: nolasco281 en 9 Marzo 2014, 19:57 PMquisiera saber si alquien sabe como convertir una string a char ya que lo nesesito para la funcion.
void outtextxy (int x, int y, char *textstring);
Si apenas empiezas tu aprendizaje del lenguaje C++ te recomiendo evitar extensiones como (en este caso) la biblioteca conio de Borland, enfocate primero en aprender el lenguaje.
En C++ tienes la clase string para un manejo mas fácil (en relación a C) de cadenas, si utilizas un objeto de la clase string y necesitas en base a el obtener una cadena "a la C" debes utilizar la función miembro "c_str", esa es la idea en el primer ejemplo de
amchacon:
string nombre = "Hola";
funcion(Hola.c_str());
El proceso opuesto (en base a una cadena "a la C" crear un objeto de la clase string) en su segundo ejemplo:
char *nombre = "Cosa";
funcion(string(nombre));
Cita de: nolasco281 en 9 Marzo 2014, 20:41 PMtengo cin.ignore(); despues que me lee la cadena pero no me muestra la cadena
Publica el código fuente completo.
Cita de: nolasco281 en 9 Marzo 2014, 20:41 PMlo hice con cin >> cadena y despues
strcpy(cadena2,nombrePer.c_str());
y hace la convercion pero no acepta espacios.
Al utilizar "cin >> cadena" lo que obtienes es un
palabra, ese es el comportamiento normal del operador.
Un saludo