如何连接字符

How to concatenate characters?

本文关键字:字符 连接 何连接      更新时间:2023-10-16

我正在尝试连接字符串中的字符以检查它是否是一个单词。例:

string s1 = "battle";
string s2 = "all";
string s3 = "lolo";
string s4 = "leaf";
string s5 = s1[0] + s2[0] + s3[0] + s4[0] 

但是 S5 是 Unicode 的总和,而不是连接。我也尝试使用附加方法,例如

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]/*, ''*/};
    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";
}