我有一个功能,我希望能够返回打印出的内容,然后我可以在页面上打印输出。我将如何返回在这两个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 :(得分:3)
例如,您可以返回std::pair
个字符串。
答案 1 :(得分:3)
定义一个具有两个适当命名的字符串成员的类,并返回该实例。
然后,开始考虑哪些方法或其他数据对该类有用。
答案 2 :(得分:0)
您可以将传递给函数的std :: vector中的字符串作为引用推送,然后在返回时迭代该向量。
答案 3 :(得分:0)
我会返回std::pair
个bool
个值(一个用于指示指令是否正确,另一个用于指示筛选结果是否正确),并让调用代码解释结果。