[C con Clase] Convertir cadena a entero

Steven Davidson steven en conclase.net
Lun Ene 22 18:19:20 CET 2007


Hola Abel,

El pasado 2007-01-22 14:18:41, Abel escribió:

A> Hola a todos,
A>   tengo un par de preguntas, el primero es cómo en C puedo convertir una cadena por decir "1234" en un entero 1234; y lo mismo al revez un entero a una cadena.

El lenguaje no ofrece ninguna funcionalidad para esto. Lo que sí puedes hacer es usar las funciones estándares de ANSI C. Para convertir una cadena a un entero, tienes dos funciones diferentes, declaradas en <stdlib.h>, que son:

int atoi( const char *numPtr );
long int atoi( const char *numPtr );

También existe 'atof()' para conseguir un valor de coma flotante de tipo 'float'.

Para convertir un valor entero a una cadena de caracteres, puedes usar la función 'sprintf()' declarada en <stdio.h>. Por ejemplo,

int num = 1234;
char szNum[16];

sprintf( szNum, "%d", num );

Es posible que algunos socios te aconsejen usar la función 'itoa()'. Sin embargo, esta función no es estándar, por lo que puede o no existir en las bibliotecas bajo tu compilador.

Para más información, puedes consultar la referencia en nuestra página yendo a: http://c.conclase.net/librerias/libreria.php?lib=stdlib y http://c.conclase.net/librerias/libreria.php?lib=stdio

A>   Mi segunda pregunta es, aunque no tiene nada que ver con el título de este artículo, escribí un programa donde guardo datos en un archivo ejemplo.xls, cuando este ejemplo.xls lo abro con Excel, puedo ver los datos en cada celda (eso es lo que quería). Mi pregunta es si es que hay la posibilidad de hacer algo al revez, osea quisiera con mi programa leer datos de un archivo Excel.

Sí, claro. Lo único que tienes que tener en cuenta es el formato del archivo XLS.


Espero que esto te ayude.

Steven


Más información sobre la lista de distribución Cconclase