验证命令行参数的简单方法

use*_*619 2 c++ visual-studio-2008

如何检查argv(参数向量)是否包含char,即:AZ

想确保argv只包含无符号的整数

例如:

if argv[1] contained "7abc7\0" - ERROR

if argv[1] contains "1234\0" - OK
Run Code Online (Sandbox Code Playgroud)

Mr *_*ooz 5

 bool isuint(char const *c) {
   while (*c) {
     if (!isdigit(*c++)) return false;
   }
   return true;
 }

 ...
 if (isuint(argv[1])) ...
Run Code Online (Sandbox Code Playgroud)

根据需要,可以对NULL c指针和空字符串进行附加错误检查.

更新 :(添加了缺少的c ++)