Convertir arreglo de char a arreglo de int

daveRuth
22 de Noviembre del 2004
Hola comuna!

Tengo el siguiente codigo:

char cara[21];
char c;
int val=0;
while(!feof(nuevoArch)){
cara[i]=fgetc(nuevoArch); i++; }


for(int y=0;y<(strlen(cara));y++){

c=cara[i];
val=atoi(c);
fuente[i]=val; //Arreglo de enteros

}


pero el compilador me dice que

cannot convert parameter 1 from 'char' to 'const char *'

alguno de ustedes sabe el porque y como hacerlo funcionar :( ?

Les agradecere infinitamente!

DaveRuth

helldaga
22 de Noviembre del 2004
El error se da debido a que la función atoi, debe recibir como parametro una cadena de caracteres y un caracter, me explico, char c, es un caracter, char s[5], es una cadena. Luego el parametro de atoi, debe ser almenos una cadena de dos posiciones.
Una sln. seria hacer los siguiente:
Primero cambie char c, por char c[2].
Segundo cambie c=cara[i]; por:
c[0] = cara[i];
c[1] = '';

Y listo. SUERTE.

daveRuth
22 de Noviembre del 2004
Funciono!

Muchas gracias caballero.

Dave