C++ 如何连接字符?
我试图将字符串中的字符连接起来,以检查它是否是一个单词。 例如: 但s5是UNICODE的总和,而不是串联。我还尝试使用append方法,比如C++ 如何连接字符?,c++,C++,我试图将字符串中的字符连接起来,以检查它是否是一个单词。 例如: 但s5是UNICODE的总和,而不是串联。我还尝试使用append方法,比如 string s5 = ""; s5.append(s1[0]); 但这意味着没有匹配的函数可以调用。 我将非常感谢任何帮助以下是实现您所需的两种方法: std::string s1 = "battle"; std::string s2 = "all"; std::string s3 = "lolo"; std::string s4 = "leaf";
string s5 = "";
s5.append(s1[0]);
但这意味着没有匹配的函数可以调用。
我将非常感谢任何帮助以下是实现您所需的两种方法:
std::string s1 = "battle";
std::string s2 = "all";
std::string s3 = "lolo";
std::string s4 = "leaf";
{
// thanks to Mooing Duck for this one
std::string s5 = {s1[0], s2[0], s3[0], s4[0]/*, '\0'*/};
std::cout << s5 << "\n";
}
{
// thanks to Igor Tandetnik for this one
std::string s5 = std::string() + s1[0] + s2[0] + s3[0] + s4[0];
std::cout << s5 << "\n";
}
{
std::string s5;
for (const auto &str : { s1, s2, s3, s4 })
s5.push_back(str.at(0));
std::cout << s5 << "\n";
}
{
std::stringstream ss;
ss << s1[0] << s2[0] << s3[0] << s4[0];
std::string s5 = ss.str();
std::cout << s5 << "\n";
}
{
std::string s5 = std::string(1, s1[0]) + std::string(1, s2[0]) + std::string(1, s3[0]) + std::string(1, s4[0]);
std::cout << s5 << "\n";
}
{
std::string s5;
s5.resize(4);
s5[0] = s1[0];
s5[1] = s2[0];
s5[2] = s3[0];
s5[3] = s4[0];
std::cout << s5 << "\n";
}
{
std::string s5;
s5 += s1[0];
s5 += s2[0];
s5 += s3[0];
s5 += s4[0];
std::cout << s5 << "\n";
}
std::string s1=“battle”;
std::string s2=“全部”;
std::string s3=“lolo”;
std::string s4=“叶”;
{
//这一次多亏了麋鹿
字符串s5={s1[0],s2[0],s3[0],s4[0]/*,'\0'*/};
std::coutstrings5=string()+s1[0]+s2[0]+s3[0]+s4[0];
将是一种方式。s5.push_back(s1[0]);
将是另一种方式。我想知道strings5={s1[0],s2[0],s3[0],s4[0],'\0}
有效?@MooingDuck不需要'\0'
。std::string
's将自行处理。@MooingDuck是的,包括null给出一个大小为5的字符串:您的第一个示例也可以简化:还有s5.append(&s1[0],1);…
和s5.append(s1.begin(),s1.begin()+1);…
std::string s1 = "battle";
std::string s2 = "all";
std::string s3 = "lolo";
std::string s4 = "leaf";
{
// thanks to Mooing Duck for this one
std::string s5 = {s1[0], s2[0], s3[0], s4[0]/*, '\0'*/};
std::cout << s5 << "\n";
}
{
// thanks to Igor Tandetnik for this one
std::string s5 = std::string() + s1[0] + s2[0] + s3[0] + s4[0];
std::cout << s5 << "\n";
}
{
std::string s5;
for (const auto &str : { s1, s2, s3, s4 })
s5.push_back(str.at(0));
std::cout << s5 << "\n";
}
{
std::stringstream ss;
ss << s1[0] << s2[0] << s3[0] << s4[0];
std::string s5 = ss.str();
std::cout << s5 << "\n";
}
{
std::string s5 = std::string(1, s1[0]) + std::string(1, s2[0]) + std::string(1, s3[0]) + std::string(1, s4[0]);
std::cout << s5 << "\n";
}
{
std::string s5;
s5.resize(4);
s5[0] = s1[0];
s5[1] = s2[0];
s5[2] = s3[0];
s5[3] = s4[0];
std::cout << s5 << "\n";
}
{
std::string s5;
s5 += s1[0];
s5 += s2[0];
s5 += s3[0];
s5 += s4[0];
std::cout << s5 << "\n";
}