将wstring转换为小写

时间:2017-02-03 10:33:21

标签: c++ string utf-16

我想将wstring转换为小写。我发现使用区域设置信息有很多答案。对ToLower()还有wstring这样的函数吗?

2 个答案:

答案 0 :(得分:7)

std::towlower是您想要的功能,来自<cwtype>。此标头包含许多用于处理宽字符串的函数。

示例:

// Convert wstring to upper case
wstring wstrTest = L"I am a STL wstring";
transform(
  wstrTest.begin(), wstrTest.end(),
  wstrTest.begin(),
  towlower);

答案 1 :(得分:7)

希望有所帮助..

#include <iostream>
#include <algorithm>

int main ()
{

std::wstring str = L"THIS TEXT!";
std::wcout << "Lowercase of the string '" << str << "' is ";
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
std::wcout << "'" << str << "'\n";

return 0;
}

输出:

Lowercase of the string 'THIS TEXT!' is 'this text!'