我正在使用一个字符串向量,字符串不是小写的。我希望他们隐蔽为小写。
要将字符串转换为小写,我使用以下方法。
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;
}
);
住