Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Paso de char * a AnsiString

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Paso de char * a AnsiString Responder citando

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
Mensaje    Asunto: Responder citando

has probado con:
Código:
AnsiString Cadena = AnsiString(tuchar*);


Argone
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

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 Sad

Espero que me podais ayudar, y muchas gracias de nuevo por responder la pregunta anterior [/code]
Volver arriba
Mensaje    Asunto: Responder citando

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
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Ya me funciona bien!!!!
Muchiiiiiiisimas gracias por vuestra ayuda, sois muy amables.
Un saludo.
Andrea
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
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


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.