Ver Mensaje Individual
  #9 (permalink)  
Antiguo 15/05/2014, 15:36
Avatar de Drewermerc
Drewermerc
 
Fecha de Ingreso: febrero-2014
Mensajes: 185
Antigüedad: 10 años, 2 meses
Puntos: 5
Respuesta: Error de buffer al usar scanf

bueno pues hay puedes seguir usando la funcion atoi.
mira aqui te dejo un ejemplo de como quedaria.
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <ctype.h>  
  5. int validar(char c[50]);
  6. int main ()
  7. {
  8.         char c[50];
  9.         int num, validarr;
  10.         printf("ingresa un valor\n");
  11.         fgets(c, 50,  stdin);
  12.         validarr = validar(c);
  13.         if (validarr == 0)
  14.         {
  15.             num = atoi(c);
  16.             printf("valor de ingresado: %d\n", num);
  17.         }
  18.         else
  19.             printf("numero no valido\n");
  20.      
  21.         return 0;
  22. }
  23. int validar(char c[50])
  24. {
  25.     int numero, i;
  26.     numero = strlen(c);
  27.         for (i = 0; i < numero-1 ; i++)
  28.         {
  29.            if (isdigit(c[i]) ==0)
  30.                 return 1;
  31.         }
  32.     return 0;
  33. }

bueno espero que te sirva si tienes alguna duda puedes preguntar.
saludos.
Drewermerc.