C言語なら俺に聞け(入門篇) Part 33

このエントリーをはてなブックマークに追加
408デフォルトの名無しさん
>>401
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int inputNumber(const char * prompt, const char * errorFormat)
{
for (;;) {
printf("%s", prompt);
char buf[1000];
if (fgets(buf, sizeof(buf), stdin) == NULL) return 0;
char * rest;
int rtn = strtol(buf, & rest, 0);
if (rest != buf) return rtn;
char * lf = strrchr(buf, '\n');
if (lf != NULL) * lf = '\0';
printf(errorFormat, buf);
}
}

int main()
{
printf("%d歳ですね。", inputNumber("あなたの年齢は? ", "%sは年齢として入力できません。\n"));
return 0;
}