Concatenar

Ivan
18 de Octubre del 2004
Tengo un arreglo de cadena que almacena 3 carácteres:

char cadena_cons[3];

Y se almacena un numero como '157' dentro de esta variable, lo que necesito es el convertir solo los carácteres 1 y 5 de la cadena anterior en tipos entero y almacenarlos dentro de una variable de tipo entero, para que la variable donde lo almaceno tenga el valor de 15.

Mi problema es que no se como concatenar los carácteres 1 y 5 dentro de una sola variable con arreglos de 3

char aux[3];

para después pasar su valor de carácter a tipo entero con la función atoi

valor_int=atoi(cadena_cons[0]+cadena_cons[1]);

Yo lo intente así pero no resulta, espero haberme explicado.
Cualquier ayuda sera bienvenida.

astur
18 de Octubre del 2004
Hola,
intenta hacer valor_int= atoi(cadena_cons[0]) *10+atoi(cadena_cons[1])
Es decir pasas el primer número a unidades(no hace falta multiplicar por uno) y el segundo a decenas(multipilcas por diez).Si lo metes todo dentro del atoi supongo que te devolvería 6(no lo he provado)
Espero que te funcione, suerte!!

chuidiang
18 de Octubre del 2004
Hola:

Para meter un "157" en cadena_cons, necestias que cadena_const tenga al menos un hueco más para el fin de cadena, es decir, debería ser de tamaño cuatro.

Hazte una copia de la cadena si no quieres "estropear" el original.

char aux[4];
strcpy (aux, cadena_cons);

Ahora "trunca" la cadena donde quieras poniéndolo un caracter 0 (no un "0", sino un valor 0, que hace de fin de cadena)

aux[2] = 0;

Ahora ya puedes usar la función atoi()

int valor;
valor = atoi (aux);

Se bueno.