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 

cadenas de texto...

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: cadenas de texto... Responder citando

Hola a todos.
Estoy intentando crear una cadena caracter a caracter.
Lo que hago es leer ciertos caracteres desde un archivo de texto, mediante la funcin getc que devuelve un INT.

Bien, yo intento partir de una cadena vacia e ir añadiendo esos caracteres hasta formar una cadena completa...

es decir, intento hacer cad=strcat(cad, c) siendo c el caracter.
Pero c es un INT, y yo intento hacer un cast de la forma
cad=strcat(cad, (char *) c) pero eso compila aunque no funciona...
Estoy un poco perdido... que puedo hacer?

un abrazo a todos...
XAN
Volver arriba
Mensaje    Asunto: Responder citando

hola, yo utilizaría un bucle. Si sabes cual va a ser la longitud de la cadena (por ejemplo 10 caracteres) haría:

Código:
char cadena[11];
int i;
for (i=0;i<10;i++) cadena[i]=fgetc(archivo);
cadena[i+1]='\0';


Si no sabes la longitud habría q utilizar memoria dinámica

Twisted Evil
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Y obvio que no te va a andar, porque la función espera un puntero a char, no un char! Y el cast así no más no se puede hacer tampoco, ya que estaría buscando la info que está guardada en la dirección correspondiente al valor ASCII del caracter... o sea, cualquier cosa.

Podés hacer como te dijo lycopersium un array de tamaño conveniente e ir llenándolo, como también podés hacer asignación dinámica. Con un malloc para empezar, y un realloc por cada caracter que agregás, aunque me parece demasiadas asignaciones y liberaciones de memoria.
_________________
"Todo es posible si Ud. no sabe de qué está hablando"
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
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.