Función de biblioteca C - strtol ()
Descripción
La función de la biblioteca C long int strtol(const char *str, char **endptr, int base) convierte la parte inicial de la cadena en str a un long int valor según el dado base, que debe estar entre 2 y 36 inclusive, o ser el valor especial 0.
Declaración
A continuación se muestra la declaración de la función strtol ().
long int strtol(const char *str, char **endptr, int base)
Parámetros
str - Esta es la cadena que contiene la representación de un número entero.
endptr- Esta es la referencia a un objeto de tipo char *, cuyo valor es establecido por la función al siguiente carácter en str después del valor numérico.
base - Esta es la base, que debe estar entre 2 y 36 inclusive, o ser el valor especial 0.
Valor devuelto
Esta función devuelve el número entero convertido como un valor int largo, de lo contrario se devuelve un valor cero.
Ejemplo
El siguiente ejemplo muestra el uso de la función strtol ().
#include <stdio.h>
#include <stdlib.h>
int main () {
char str[30] = "2030300 This is test";
char *ptr;
long ret;
ret = strtol(str, &ptr, 10);
printf("The number(unsigned long integer) is %ld\n", ret);
printf("String part is |%s|", ptr);
return(0);
}
Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:
The number(unsigned long integer) is 2030300
String part is | This is test|