elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con la función atoi()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con la función atoi()  (Leído 3,751 veces)
Locura_23

Desconectado Desconectado

Mensajes: 162



Ver Perfil
Duda con la función atoi()
« en: 9 Mayo 2021, 22:24 pm »

Buenas a todos!
Tengo una duda con este procedimiento, Le pedimos, por ejemplo, un entero al usuario... tomamos lo que cargue como una cadena , en caso de que haya ingresado algo mal. Y con la función atoi() lo convertimos a un entero.  El problema es que si ingreso por ejemplo, algo como "abcds29" no me capta el 29.
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7.    int num;
  8.    char cad[50];
  9.  
  10.    printf("Introduzca un numero entero\n");
  11.  
  12.    gets(cad);
  13.  
  14.    num = atoi(cad); /**convierte una cadena en  un entero solo si no
  15.     hay letras antes del entero?**/
  16.    printf("El numero registrado es %i\n",num);
  17.  
  18.    return 0;
  19. }
  20.  


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.958


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Duda con la función atoi()
« Respuesta #1 en: 9 Mayo 2021, 22:35 pm »

https://www.cplusplus.com/reference/cstdlib/atoi/

"If the first sequence of non-whitespace characters in str is not a valid integral number, or if no such sequence exists because either str is empty or it contains only whitespace characters, no conversion is performed and zero is returned."


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
temporalEotw

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Duda con la función atoi()
« Respuesta #2 en: 9 Mayo 2021, 22:54 pm »

Es cierto, funciona si la en la cadena hay solo números. Si realmente quieres obtener los números aunque hayan caracteres deberías hacer una función que limpie esa cadena de todo lo que no sea un número, desconozco si hay una función que haga esto.
« Última modificación: 9 Mayo 2021, 22:57 pm por temporalEotw » En línea

Locura_23

Desconectado Desconectado

Mensajes: 162



Ver Perfil
Re: Duda con la función atoi()
« Respuesta #3 en: 9 Mayo 2021, 23:05 pm »

Ya veo gracias por sus respuestas! quería confirmarlo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con funcion dentro de funcion en un echo
PHP
N4X 6 6,071 Último mensaje 21 Enero 2010, 18:12 pm
por N4X
atoi + itoa personalizadas
Programación C/C++
david_BS 2 3,392 Último mensaje 7 Abril 2012, 10:40 am
por david_BS
Convertir matriz Char a Int con atoi
Programación C/C++
jfap45 5 6,238 Último mensaje 9 Agosto 2012, 02:46 am
por BlackZeroX
ATOI + ITOA remake « 1 2 »
Programación C/C++
85 12 10,419 Último mensaje 27 Febrero 2013, 19:45 pm
por rir3760
duda con función en c
Programación C/C++
fernaEDLP 5 2,019 Último mensaje 14 Noviembre 2018, 22:30 pm
por fernaEDLP
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines