Concatenación ?

Iniciado por <<<-Basura->>>, 26 Marzo 2012, 07:57 AM

0 Miembros y 2 Visitantes están viendo este tema.

<<<-Basura->>>

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
<<<--Basura-->>>

eleon

STRING en si es un puntero, no tienes que añadirle el operador Adress-of:

total = &STRING; /*Quita el &*/

Eternal Idol

Usa memset para inicializar toda STRING a 0, igual el tamaño puede ser corto facilmente ...
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

<<<-Basura->>>

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...
<<<--Basura-->>>

Eternal Idol

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.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

<<<-Basura->>>

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
<<<--Basura-->>>