Oh, that's what you wanted to do :-)
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <errno.h>
#include <limits.h>
unsigned int getInputData(){
char *p;
char *end;
char buff[25];
unsigned long digit;
printf("Please Enter in a positive number, then hit ENTER\n");
if (fgets(buff, sizeof(buff), stdin) == 0)
{
printf("Fatal error: No input\n");
return 0;
}
if ((p = strrchr(buff, '\n')) != 0)
/* Remove the newline */
{
*p = '\0';
}
errno = 0;
digit = strtoul(buff, &end, 0);
if (errno == ERANGE)
printf("Fatal error: Out of range\n");
else if (end == buff || end < buff+strlen(buff))
printf("Not an integer\n");
else
printf("Good, you've entered an integer!\n");
return(digit);
}
int main(void){
getInputData();
return(0);
}