字符串向量中的元素为小写



我正在使用一个字符串向量,字符串不是小写的。我希望他们隐蔽为小写。

要将字符串转换为小写,我使用以下方法。

std::transform(strCmdLower.begin(), strCmdLower.end(), strCmdLower.begin(), ::tolower);

我可以迭代向量并转换每个字符串,但我想知道是否有任何库函数可用于此目的,如上所示。复制到新矢量也可以。

std::vector<std::string> v1;
v1.push_back("ABC");
v1.push_back("DCE");
std::vector<std::string> v2(v1.begin(), v1.end());

您仍然可以将std::transform与 lambda 一起使用,例如

std::vector<std::string> v1;
v1.push_back("ABC");
v1.push_back("DCE");
std::vector<std::string> v2;
v2.reserve(v1.size());
std::transform(
    v1.begin(), 
    v1.end(), 
    std::back_inserter(v2), 
    [](const std::string& in) {
        std::string out;
        out.reserve(in.size());
        std::transform(in.begin(), in.end(), std::back_inserter(out), ::tolower);
        return out;
    }
);

相关内容

  • 没有找到相关文章

最新更新