注册 登录
编程论坛 C++教室

argc没有值怎么和2比较?还有传参的问题

shangke 发布于 2009-08-15 17:41, 956 次点击
int main(int argc, char** argv)
   {
   
       //解析命令行输入:
       ValidateArgs(argc, argv);

       return 0;
   }
   void ValidateArgs(int argc, char **argv)
   {   
       //打开指定的注册表键:
       char *Key="Software\\Microsoft\\Terminal Server Client\\Default";
       char buff[100]={0};
       int  i,i1,length;
       if(argc<2) // argc没有值怎么和2比较?       {
           Usage(argv[0]);
       }
           for(i=1;i<argc;i++)
         {
           if ((argv[i][0] == '-') || (argv[i][0] == '/'))
           {
               switch (tolower(argv[i][1])) //转换成小写字母
               {
                   case 'd':
                       if (argc!=3)
                       Usage(argv[0]);
                       strcpy(buff,argv[2]);
                       length = strlen(argv[2]);
                       for (i1=0; i1<length; i1++)
                       {
                           buff[i1] = toupper(buff[i1]);
                       }
                       //printf("buff=%s\n",buff);
                       QueryKey(Key,buff);
                       exit(0);
                   case 'h'://打印帮助
                       Usage(argv[0]);
                       exit(0);
                   case 'a':
                       if (argc!=2)
                       Usage(argv[0]);
                       OpenKey(Key);
                       exit(0);
                   default:
                       Usage(argv[0]);
                       return;
               }
           }
         
       }
       printf("继续...\n");
           return;
   }

argc没有值怎么和2比较?帮忙解释下这个的传参!!谢谢了
3 回复
#2
bczgvip2009-08-16 01:32
问题呢?清楚点.
#3
tinjp2009-08-16 08:03
没输参数,argc为1,程序本身的名称就算一个。不知你说的没值是什么意思。
#4
shangke2009-08-16 15:07
回复 3楼 tinjp

哦了 就要得这个
1