Convertir cadena a entero en C usando strtol

En este post vas a aprender a convertir una cadena a un entero en C; es decir, convertir un string a un int o long; de manera que puedas usarlo como entero y no como cadena.

Para la conversión vamos a usar la función strtol. Si quieres hacer el proceso inverso, por favor mira cómo convertir un número a cadena en C.

Convertir cadena a entero en C

Lo único que necesitamos es invocar a la función strtol; la misma devolverá un long que podría ser convertido a int. El ejemplo más sencillo es el siguiente:

char *cadena = "2052";
int entero = (int) strtol(cadena, NULL, 10);

Los argumentos que toma strtol son, en orden:

  1. La cadena que vamos a convertir
  2. Un puntero que apuntará al lugar en donde la cadena hasta donde terminó de hacer la conversión, esto no es necesario así que lo dejamos en NULL.
  3. La base, que es base 10, decimal

La función devolverá un long que convertimos a un int.

Ejemplo completo

Convertir cadena a entero en C

El código queda así:

/**
 * Convertir cadena a número en C
 * @date 2019-12-21
 * @author parzibyte
 * @see https://parzibyte.me/blog
 * */
#include <stdio.h>
#include <stdlib.h>


int main(void) {
    char *cadena = "2052";
    int entero = (int) strtol(cadena, NULL, 10);
    printf("Entero: %d. Entero + 1: %d", entero, entero + 1);
}

Estoy imprimiendo el número y sumando uno para que se note que realmente es un entero.

En mi blog puedes explorar más ejercicios de C.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *