Cita:
Iniciado por anac porque lo de m[0],m[1] no funciona. He intentado hacer esto:
int x = strcat(m[0], m[1]);
pero no funciona.
Lo que no funciona es el que codigo que pusiste que no tiene ninguna logica. m[0] y m[1] no son punteros a char sino chars asi que no se le pasan como parametros a strcat que pide dos punteros a char (destino y origen) y no devuelve un int como resultado sino un puntero a char (destino).
¿Que queres hacer exactamente? Si lo que queres es una segunda cadena primero necesitas, como ya te dije, el espacio para la misma.
Aca tenes algo de codigo a ver si te haces una idea:
Código:
char m[] = "0001010101011101110100011....";
printf("%s\r\n", m);
printf("%c\r\n", m[0]);
printf("%c\r\n", m[1]);
printf("%c\r\n", m[3]);
char nCadena[255];
memset(nCadena, 0, sizeof(nCadena));
strncpy(nCadena, m, 2);
printf("%s\r\n", nCadena);
strcat(nCadena, " MAS TEXTO");
printf("%s\r\n", nCadena);
Supongo que lo que querias hacer era algo asi:
Código:
char *vector[3] = {"01111111","00111100","00110011"};
char conc[1024];
memset(conc, 0, sizeof(conc));
strcpy(conc, vector[0]);
strcat(conc, vector[1]);
printf("%s\r\n", conc);
Siempre es mejor usar memoria dinamica.