Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: <<<-Basura->>> en 26 Marzo 2012, 07:57 AM

Título: Concatenación ?
Publicado por: <<<-Basura->>> en 26 Marzo 2012, 07:57 AM
Hola estoy tratando de concatenar, varios string, pero no tengo la mayor idea, logro hacerlo de una forma pero cuando imprimo, salen datos que yo no inserte.

Este es el código que tengo:


int main(int argc, char **argv){
char STRING[50];
char *total;

char *string1;
char *string2;
char *string3;
char *string4;

string1 = argv[1];
string2 = argv[2];
string3 = argv[3];
string4 = argv[4];

total = &STRING;
strcat(total,string1);
strcat(total,string2);
strcat(total,string3);
strcat(total,string4);

printf("%s",STRING);
}


Si me pueden decir que estoy haciendo mal para corregirlo y hacerlo de la mejor forma posible
Título: Re: Concatenación ?
Publicado por: eleon en 26 Marzo 2012, 11:23 AM
STRING en si es un puntero, no tienes que añadirle el operador Adress-of:

total = &STRING; /*Quita el &*/
Título: Re: Concatenación ?
Publicado por: Eternal Idol en 27 Marzo 2012, 11:11 AM
Usa memset para inicializar toda STRING a 0, igual el tamaño puede ser corto facilmente ...
Título: Re: Concatenación ?
Publicado por: <<<-Basura->>> en 30 Marzo 2012, 19:01 PM
Cita de: Eternal Idol en 27 Marzo 2012, 11:11 AM
Usa memset para inicializar toda STRING a 0, igual el tamaño puede ser corto facilmente ...
No hacia mucha falta, pero ya lo logre gracias...
Título: Re: Concatenación ?
Publicado por: Eternal Idol en 31 Marzo 2012, 10:51 AM
Hace falta, al menos poner a 0 el primer elemento de STRING, de otra manera cuando llamas a strcat concatena la cadena que vos queres poner primero DESPUES de lo que hubiera hasta encontrar un 0.
Título: Re: Concatenación ?
Publicado por: <<<-Basura->>> en 1 Abril 2012, 20:00 PM
Cita de: Eternal Idol en 31 Marzo 2012, 10:51 AM
Hace falta, al menos poner a 0 el primer elemento de STRING, de otra manera cuando llamas a strcat concatena la cadena que vos queres poner primero DESPUES de lo que hubiera hasta encontrar un 0.
mmmm... si te comprendo, es como para eliminar la basura después de que se crea la string