以下のコードは、最後に文字列を出力しています。私は、ベクトルを返して文字列に追加しようとしますが、返すことはできますが、出力私はそれらのすべてを取得する必要があります。ベクトルに挿入するC++
私はa
に複数回割り当てるすべての文字列
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\n";
}
else
{
a = "Incorrect Security Instruction\n"
}
boost::regex const string_matcher4(splitMask[4]);
if(boost::regex_match(st[4],string_matcher4))
{
a = "Correct Autograpgh\n"
}
else
{
a = "Incorrect Autograpgh\n"
}
boost::regex const string_matcher5(splitMask[5]);
if(boost::regex_match(st[5],string_matcher5))
{
a = "Correct Free text\n";
}
else
{
a = "Incorrect Free text\n"
}
std::vector<std::string>::iterator it;
std::string s = ("");
output.push_back(a);
i++;
for(it = output.begin(); it < output.end(); it++)
{
s+= *it;
}
return s;
あなたのコードには1つの 'push_back'しかありません。なぜあなたのベクターに複数の文字列が含まれていると思われますか? – Mat
多分、文字列の後ろに@Matを付け加えた場合 – CodersSC
あなたは文字列を追加していません。 – Mat