首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么验证用户输入的数据

2012-02-15 
如何验证用户输入的数据C/C++ codechar departments[26]scanf(%s, departments)现在想验证用户输入的

如何验证用户输入的数据

C/C++ code
char departments[26];scanf("%s", departments);



现在想验证用户输入的数据departments是否符合要求,字符串类型,长度26,我是这么弄的:


C/C++ code
   while (1)    {        rewind(stdin);        if( scanf("%s", departments) == 1 )  /*验证输入*/        {            if (strlen(newUser->departments) > 26)            {                printf("\n长度最大26,请重新输入新用户院系:\n");                printf("--> ");            }            else                break;        }        else        {            rewind(stdin);            printf("\n非法输入(长度最大26),请重新输入新用户院系:\n");            printf("--> ");        }    }


但是感觉特麻烦,不能每次scanf都写这么长的代码验证输入吧?

可不可以写个函数,用于验证用户输入呢?可验证输入的变量类型、长度等。

[解决办法]
char departments[26];

这不是已经定死了么
[解决办法]
判断比较啊
[解决办法]
char s[26];
fgets(s,26,stdin);
[解决办法]
自己包装成一个函数就可以了,这个需要自己动手,一劳永逸……
另外char departments[26]太小,当心越界,建议用char departments[256];

热点排行