小写字符串到句子的情况

时间:2011-12-16 06:44:35

标签: c++ wstring

  

可能重复:
  Convert first letter in string to uppercase

如何在C ++中将字符串转换为标题大小写 “你好世界”到“你好世界”。该字符串甚至可以有多字节字符

1 个答案:

答案 0 :(得分:1)

好吧,如果您按照上一个问题的建议Convert first letter in string to uppercase,您需要做的就是将字符串分成一个单词,并将其大写。

std::wstring s = L"iron maiden";

if(s.length() > 0)
    s[0] = toupper(s[0]);

for(std::wstring::iterator it = s.begin() + 1; it != s.end(); ++it)
{
    if(!isalpha(*(it - 1)) &&
       islower(*it))
    {
        *it = toupper(*it);
    }
}

基本上,您只需要编写/使用解析器。