2012-02-03 184 views
1

我有一个函数,我希望能够返回打印输出,然后我可以在页面上打印输出。我将如何返回这两个if语句中输出的字符串?从函数返回多个字符串

std::vector<std::string> el; 
     split(el,message,boost::is_any_of("\n")); 
     std::string a (""); 

      for(int i = 0; i < el.size(); i++) 
      { 
       if(el[i].substr(0,3) == ".X/") 
       { 
        DCS_LOG_DEBUG("--------------- Validating .X/ ---------------") 
        std::string str = el[i].substr(3); 
        std::vector<std::string>st; 
        split(st,str,boost::is_any_of("/")); 
        boost::regex const string_matcher(splitMask[0]); 
        if(boost::regex_match(st[0],string_matcher)) 
        { 
         a = "Correct Security Instruction"; 

        } 
        else 
        { 
         a = "Incorrect Security Instruction" 
        } 

        boost::regex const string_matcher1(splitMask[1]); 
        if(boost::regex_match(st[1],string_matcher1)) 
        { 
        a = "Correct Security screening result" 
        } 
        else 
        { 
         a = "Incorrect Security screening result" 
        } 


        return a; 

       } 

      } 

心存感激任何帮助:)

回答

0

您可以将字符串推送到作为参考传递给该函数的std :: vector中,然后在返回时迭代该向量。

3

可以返回一个字符串std::pair,例如。

3

定义一个具有两个适当命名的字符串成员的类并返回该类的一个实例。

然后,开始思考哪些方法或其他数据对该类有用。

0

我会返回std::pairbool值(其中一个表示指令是否正确,另一个表示筛选结果是否正确),并让调用代码解释结果。