 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Xan Invitado
|
Publicado: Mar 22 Oct, 2002 7:19 pm Asunto: cadenas de texto... |
|
|
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 |
|
 |
lycopersium Lt


Registrado: 12 Oct 2002Mensajes: 90Ubicación: Roquetas de Mar - Almería
|
Publicado: Mar 22 Oct, 2002 7:55 pm Asunto: |
|
|
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
 |
|
| Volver arriba |
|
 |
Andrés Lt JG


Registrado: 30 Ago 2002Mensajes: 62Ubicación: Ramos Mejía
|
Publicado: Mie 23 Oct, 2002 5:53 am Asunto: |
|
|
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 |
|
 |
|
|
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.
|