 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
AlexC2 Invitado
|
Publicado: Sab 22 Mar, 2003 8:58 pm Asunto: Cómo Manejo "STRINGS" en C++Builder... |
|
|
Acudo a ustedes en busca de ayuda y guía, ya que empiezo a dar mis primeros pasos en C y C++, y no sé que hacer...
Resulta que en un programa de C++ (DOS) definí una clase PERSONA, que tiene como atributos lo sgte: char Nombre[35] y char id[15]
Pues bien, cuando pasé el código de la aplicación para ejecutarla en Windows (en modo gráfico, con Fichas y botones, etc,etc,etc. ) me dá un error... y es cuando trato de pasar lo que tiene un campo Edit (que llamé editNombre) a Nombre... lo estoy haciendo así:
...
strcpy(Nombre,editNombre->Text)
pero me da este error:
E2034 Cannot convert 'AnsiString' to 'const char *'
Mi pregunta entonces es:
¿Si yo declaro una variable char NOMBRE_VARIABLE[25] (por ejemplo!) cómo la cargo con lo que digito en un campo Edit?...
Gracias
Alex C²
crypt_keeper@latinmail.com |
|
| Volver arriba |
|
 |
jaquemate Lt Cmdr


Registrado: 30 Sep 2002Mensajes: 110
|
Publicado: Sab 22 Mar, 2003 10:32 pm Asunto: jaquemate |
|
|
El compilador te indica que no puedes convertir un objeto AnsiString a un char* directamente. Necesitas por tanto, convertirlo antes y eso lo puedes hacer con la función miembro AnsiString::c_str():
| Código: | strcpy(Nombre,editNombre->Text.c_str()); |
Te aconsejo que utilices la función strncpy() en vez de strcpy para controlar el tamaño máximo del array:
| Código: | strncpy(Nombre,editNombre->Text.c_str(),25); |
Un saludo. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|