| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Invitado Invitado
|
Publicado: Jue 13 May, 2004 8:04 pm Asunto: Paso de char * a AnsiString |
|
|
Hola:
Me gustaría saber si hay alguna manera de pasar un char * a un AnsiString, porque estoy trabajando con un char * en una función (no puedo declarar la cadena de otra manera) y quiero poder convertir ese char * a un AnsiString para trabajar con él desde Builder.
Creo que para pasar de AnsiString a char * está la función c_str(), pero para hacer el cambio contrario no sé si hay alguna función o es imposible hacerlo.
Muchas gracias y un saludo. |
|
| Volver arriba |
|
 |
Argone Lt


Registrado: 23 Jun 2003Mensajes: 97Ubicación: Las Palmas.. España
|
Publicado: Jue 13 May, 2004 8:35 pm Asunto: |
|
|
has probado con: | Código: | AnsiString Cadena = AnsiString(tuchar*); |
Argone |
|
| Volver arriba |
|
 |
Invitado Invitado
|
Publicado: Jue 13 May, 2004 9:24 pm Asunto: |
|
|
No se me había ocurrido hacerlo así directamente! Muchas gracias porque creo que la conversión me funciona. El problema lo tengo a la hora de copiar:
| Código: |
AnsiString cadena="12345678A Hola Adios";
Edit1->Text=cadena;
char aux[9];
strncpy(aux, cadena.c_str(), 9);
AnsiString DNI;
DNI=AnsiString(aux);
Edit2->Text=DNI;
|
En el texto del EDIT dos, me muestra 12345678A y una linea | gruesa al final, o sea 12345678A|. Supongo que tendrá que ver con el caracter de terminación de la cadena, y no consigo que se me muestren solo los 9 caracteres que quiero copiar.
Llegados a este puedo trabajar así porque tengo que utilizar directamente la variable "DNI" para pasarsela como argumento a una función, y claro, con la barra esa no me trabaja de manera correcta
Espero que me podais ayudar, y muchas gracias de nuevo por responder la pregunta anterior [/code] |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Jue 13 May, 2004 9:57 pm Asunto: |
|
|
y por que no lo pasas directamente, asi..
| Código: |
AnsiString cadena= "12345678A Hola Adios";
Edit1->Text=cadena;
char aux[9];
// ponlo asi.. y veras que funciona
strcpy(aux,cadena.SubString(1,9).c_str());
AnsiString DNI;
DNI=AnsiString(aux);
Edit2->Text=DNI;
|
saludos _________________
 |
|
| Volver arriba |
|
 |
Invitado Invitado
|
Publicado: Jue 13 May, 2004 10:03 pm Asunto: |
|
|
Ya me funciona bien!!!!
Muchiiiiiiisimas gracias por vuestra ayuda, sois muy amables.
Un saludo.
Andrea |
|
| Volver arriba |
|
 |
|