从一个函数返回多个字符串

returning multiple strings from a function

本文关键字:返回 字符串 函数 一个      更新时间:2023-10-16

我有一个函数,我希望能够返回打印出来的内容,这样我就可以在页面上打印输出。我将如何返回在这两个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;
              }
          }

感谢您的帮助:)

例如,您可以返回字符串的std::pair

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

然后,开始思考在该类上使用哪些方法或其他数据是有用的。

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

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