怎么验证用户输入的数据
如何验证用户输入的数据
现在想验证用户输入的数据departments是否符合要求,字符串类型,长度26,我是这么弄的:
但是感觉特麻烦,不能每次scanf都写这么长的代码验证输入吧?
可不可以写个函数,用于验证用户输入呢?可验证输入的变量类型、长度等。
------解决方案--------------------
char departments[26];
这不是已经定死了么
------解决方案--------------------
判断比较啊
------解决方案--------------------
char s[26];
fgets(s,26,stdin);
------解决方案--------------------
自己包装成一个函数就可以了,这个需要自己动手,一劳永逸……
另外char departments[26]太小,当心越界,建议用char departments[256];
- 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];