Tema: C
Ver Mensaje Individual
  #9 (permalink)  
Antiguo 17/04/2007, 06:42
Avatar de Eternal Idol
Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años, 7 meses
Puntos: 74
Re: C

Cita:
Iniciado por anac Ver Mensaje
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.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO