当前位置: 首页>>代码示例>>C++>>正文


C++ ArgParser::parse方法代码示例

本文整理汇总了C++中ArgParser::parse方法的典型用法代码示例。如果您正苦于以下问题:C++ ArgParser::parse方法的具体用法?C++ ArgParser::parse怎么用?C++ ArgParser::parse使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ArgParser的用法示例。


在下文中一共展示了ArgParser::parse方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: run

  virtual void run() {
    {
      ArgParser parser;
      Arg arg1(parser, false, "arg1", "<value>");
      Arg required2(parser, true, "required2", "<value>");
      const char* args[] = {
        "myExecutable",
        "-arg1", "myValue1",
        "-required2", "myRequired2",
        0
      };
      assertTrue(parser.parse(sizeof(args) / sizeof(char*) - 1, args));
      assertEqual("myValue1", arg1.value);
      assertEqual("myRequired2", required2.value);
    }

    {
      ArgParser parser;
      Arg arg1(parser, false, "arg1", "<value>");
      Arg required2(parser, true, "required2", "<value>");
      const char* args[] = {
        "myExecutable",
        "-arg1", "myValue1",
        "-required2",
        0
      };
      assertFalse(parser.parse(sizeof(args) / sizeof(char*) - 1, args));
    }

    {
      ArgParser parser;
      Arg arg1(parser, false, "arg1", "<value>");
      Arg required2(parser, true, "required2", "<value>");
      const char* args[] = {
        "myExecutable",
        "-arg1", "myValue1",
        0
      };
      assertFalse(parser.parse(sizeof(args) / sizeof(char*) - 1, args));
    }
  }
开发者ID:ChristopherJamesJordan,项目名称:avian,代码行数:41,代码来源:arg-parser-test.cpp

示例2: fun

void fun(ClientInfo *clientinfo,const char *b)
{
     
     printf("Server:ENTER PROCESS______________________________\n");
     string localfilename="../webpage"; 
     Request req(b);
     ResponseHeader httpheader;
     ArgParser parser;
     string affix;
     string arg;
     string filename;
     char param[500];
     
     


     if(req.method=="GET"||req.content!="")
     {
         if(req.method=="GET")
         cout<<"(IP: "<<clientinfo->ip<<")"<<"Browser:GET "<<req.uri_full<<endl;
         else if(req.content!="")
         cout<<"(IP: "<<clientinfo->ip<<")"<<"Browser:POST "<<req.content<<endl;
         //全请求 
         string fullfilename=req.uri_full;
         //请求文件 
         filename=req.uri_name;
         localfilename+="/";
         localfilename+=filename;
         //请求文件后缀 
         affix=req.uri_affix;  
         //请求参数 
         arg=req.uri_arg;
         strcpy(param,arg.c_str());
         //获得接口 
         
         if(req.content!="")
         {
           clientinfo->PostSpace=(char *)malloc(req.content.length()+3);
           if(clientinfo->PostSpace==0)
           cout<<endl<<"Server:PostSpace Allocate Error"<<endl;
           memset(clientinfo->PostSpace,0,req.content.length()+3);
           strcpy(clientinfo->PostSpace,req.content.c_str());
         }
         else
           clientinfo->PostSpace=0;
           
           
         parser.parse(arg.c_str());
         string src=parser.get("srcpool");
         string stobesent;
         BYTE* btobesent;
         Resource *presorce;
         int ret;
         WebInterface inter;
         if(src!="")
         {
             cout<<"Server:Load Src"<<endl;
  
             presorce=SerSourcePool[fullfilename];
             if(presorce==0)
             {
             cout<<"Server:Load SRC ERR"<<endl;
             return;
             }
             cout<<"Server:Load Over"<<endl;
              //getchar();
             if(presorce->obsolete==1||clientinfo->PostSpace)
             {
               inter.getEntry(localfilename);
               cout<<"Server:Src Obosolete"<<endl;
               //  Webmain  Webmain  Webmain  Webmain  Webmain  Webmain  Webmain  Webmain  Webmain  Webmain  Webmain  Webmain  
               ret=inter.webmain(clientinfo,param,filename);
               if(ret==-1)
               {
               cout<<"Server:Load DLL Err"<<endl;
               return ; 
               }
             }
              
             
             if(presorce->Type=="TEXT")
             {
               stobesent=SerSourcePool[fullfilename]->Text; 
               httpheader.settype(presorce->MimeType.c_str());
               httpheader.setsize(stobesent.length());
               httpheader.prepareheader();  
               //send   send   send   send   send   send   send   send   send   send   send   send   send   send   send   send   
               send(clientinfo->clientsocket,httpheader.content.c_str(),httpheader.content.size(),0);
               send(clientinfo->clientsocket,stobesent.c_str(),stobesent.length(),0);
               clearClientInfo(clientinfo);
               presorce->obsolete=1;
               return ;
               
             }
             if(presorce->Type=="BIN")
             {
           //     printf("SERIMAGEsize:%d,Ptr:%d\n",SerSourcePool[fullfilename]->BinL,SerSourcePool[fullfilename]->Bin);
                
                
                btobesent= SerSourcePool[fullfilename]->Bin;  
//.........这里部分代码省略.........
开发者ID:chrisjin,项目名称:CppDynamicWeb,代码行数:101,代码来源:dllserver4.CPP


注:本文中的ArgParser::parse方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。