Funciones de Strtol y Strtoul en C

Funciones de Strtol y Strtoul en C

En el idioma C, se presenta un archivo de encabezado estándar como una "cadena", llamada cadena.H Archivo de encabezado H. Este archivo de encabezado opera diferentes tipos de cadenas. Existen diferentes funciones de cadena predefinidas estándar disponibles en este archivo de encabezado para manipular esas cadenas.

Hay otro archivo de encabezado estándar disponible en el idioma C llamado stdlib.H Archivo de encabezado H. Hay dos funciones estándar de función predefinida: strtol () y strtoul (). A través de estas funciones, convertimos los diferentes tipos de cadena a el número entero largo y el número entero largo sin firmar, respectivamente.

Primero, veremos las características e implementación de la función strtol ().

Características de la función strtol ()

Archivo de cabecera: La definición de la función strtol () existe en un archivo de encabezado estándar en la biblioteca C nombrada en stdlib.H Archivo de encabezado H. Es una función predefinida estándar.

Sintaxis:

long strtol (const char * size_str, char ** ptr_str, int bse_n);

Descripción: La función strtol () convierte una cadena en un valor entero largo. Esta función no se ejecuta cuando la función no ha accedido a una entrada válida. Esta función determina el punto de terminación en el que se asigna un valor a una variable. El PTR_STR se refiere a esta variable si el valor de PTR_STR no es nulo. El parámetro BSE_N refleja el valor base. El valor base se usa como 0 o 2 a 36. Si el número comienza con buey, entonces su base es 16. Si comienza con un cero, entonces su base es 8; otros son decimales en la base.

Parámetros:

size_str: Es un puntero a una cadena que convierte la cadena.

PTR_STR: Se refiere a un puntero. Este puntero mantiene la dirección de un puntero de cadena.

BSE_N: La conversión de números depende de la base de un número. El BSE_N almacena este valor.

Devoluciones: La función strtol () proporciona una salida como valor, que es un tipo entero largo.

Programación Ejemplo 1

Aquí, veremos cómo la función strtol () convierte una cadena en un valor entero largo y la implementación de la función strtol ():

#incluir
#incluir
int main ()

char strr [60]; // declarando una cadena
char *s;
long v; // sostiene el valor entero de conversión
printf ("Por favor ingrese un valor largo:");
obtiene (strr);
v = strtol (strr, & s, 0); // callar la función strtol () para la conversión
printf ("El valor resultante es: %ld, duplicando el valor: %ld \ n", v, v*2);
regresar 0;

Producción

Explicación

Aquí, declaramos una cadena llamada strr y asigne algunos valores al usuario con la ayuda de gets (). Declaramos una cadena de puntero nombrada *s para apuntar la cadena y un valor entero largo.

Llamamos a la función strtol () y pasamos la cadena, a través del puntero dentro del paréntesis de la función strtol () para convertir la cadena en valor entero largo. Ahora, imprimemos el valor de V para imprimir la salida deseada.

Programación Ejemplo 2

Aquí, veremos otro ejemplo de la función strtol ().

#incluir
#incluir
int main ()

char strr [50] = "430 Estoy aquí"; // declarar e inicializar una cadena
char *s;
long v; // sostiene el valor entero de conversión
v = strtol (strr, & s, 10); // callar la función strtol () para la conversión
printf ("El valor probable es %ld \ n", v);
regresar 0;

Producción

Explicación

En este ejemplo de programación, declaramos una cadena llamada strr [] y asignamos algún valor. Luego llamamos a la función strtol () y, dentro de su paréntesis, pasamos la cadena y la cadena al puntero como argumentos. El valor de larga int es el retorno de esta función como salida.

función strtoul ()

Ahora, discutiremos las características y la aplicación de la función strtoul ().

Características de la función strtoul ()

Archivo de cabecera: La función strtoul () se presenta en el stdlib.H Archivo de encabezado H.

Sintaxis: Unsigned Long int strtoul (const char * size_str, char ** ptr_str, int bse_n)

Descripción: Esta función ayuda a dar la salida como un cálculo de convertir cualquier cadena a un valor que sea un tipo entero largo sin firmar.

Parámetros:

size_str: Es un puntero a la cadena.

PTR_STR: Se refiere a un puntero. Este puntero mantiene la dirección de un puntero de cadena.

BSE_N: base del número a convertir.

Devoluciones: Devuelve el valor entero largo.

Programación Ejemplo 3

Aquí, veremos un ejemplo de la función Stroul ().

#incluir
#incluir
int main ()

sin firmar largo LV; // declarando una variable de tipo de datos larga.
char szstring [50] = "430 Estoy aquí"; // declarando e inicializando una cadena
char *pend;
largo V; // sostiene el valor entero largo de conversión
lv = strtoul (szstring, & pend, 0); // llamando a la función strtoul () para la conversión
printf ("El valor probable es %ld \ n", lv);
regresar 0;

Producción

Explicación

Aquí, declaramos una cadena llamada SzString [] y asignamos algunos valores dentro de la cadena. Ahora, llamamos a la función strtoul () y pasamos algunos argumentos como la cadena, el puntero de caracteres dentro de su paréntesis para la conversión. Esta función devuelve el valor entero largo como salida y muestra en el monitor

Conclusión

Aquí, discutimos las características de las funciones strtol () y strtoul (). Estas dos funciones nos ayudan a convertir la cadena en un valor entero largo, respectivamente. Estas funciones son extremadamente útiles para convertir el funcionamiento de las cuerdas en el lenguaje C. Estas funciones proporcionan diferentes opciones al idioma C en operaciones numéricas.