Convertir un string a char

Iniciado por nolasco281, 9 Marzo 2014, 19:57 PM

0 Miembros y 1 Visitante están viendo este tema.

nolasco281

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.

Lo que se puede imaginar... se puede programar.

amchacon

No me ha quedado claro, si te refieres a esto:
Código (cpp) [Seleccionar]
string nombre = "Hola";
funcion(Hola.c_str());


O si te refieres a:

Código (cpp) [Seleccionar]
char* nombre = "Cosa";

funcion(string(nombre));
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

nolasco281

Hola gracias por contestar

si no me equivoco

la cadena hola pasa a la funcion y convierte hola en una cadena de caracteres no?

Código (cpp) [Seleccionar]
   string nombre = "Hola";
   funcion(Hola.c_str());



// Y en este caso la variable nombre va a recibir la cadena de caracteres no?

Código (cpp) [Seleccionar]
char* nombre = "Cosa";
funcion(string(nombre));


gracias por contestar de nuevo.
Lo que se puede imaginar... se puede programar.

nolasco281

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

Código (cpp) [Seleccionar]
strcpy(cadena2,nombrePer.c_str());

y hace la convercion pero no acepta espacios.
Lo que se puede imaginar... se puede programar.

rir3760

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:
Código (cpp) [Seleccionar]
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:
Código (cpp) [Seleccionar]
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
Código (cpp) [Seleccionar]
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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language