alguien sabe xq me come el ultimo caracter de la primer cadena??
void strcat (char* cad1,char * cad2)
{
int i=0;
while(cad1!='\0')
{
i++;
}
int j=0;
while(cad2[j]!='\0')
{cad1=cad2[j];
i++;
j++;
}
cad1=cad2[j];
}
Cita de: basuel en 18 Octubre 2012, 19:31 PM
alguien sabe xq me come el ultimo caracter de la primer cadena??
void strcat (char* cad1,char * cad2)
{
int i=0;
while(cad1!='\0')
{
i++;
}
int j=0;
while(cad2[j]!='\0')
{cad1=cad2[j];
i++;
j++;
}
cad1=cad2[j];
}
strcat une las string cad2 a cad1 al buffer destino eliminando el caracter nulo de lo contrario no formarian una sola cadena pero si quereis que no borre el
caracter nulo entonces agregar esta linea justo despues del primer bucle while:
i++;
Esa función realiza la operación (concatenación) de forma correcta. El error, si existe, debe encontrarse en otra parte del programa.
Se puede acortar utilizando punteros:
void strcat(char *p, char *q)
{
while (*p != '\0')
p++;
while ((*p++ = *q++) != '\0')
;
}
Un saludo