Строчная строка в предложении

Возможный дубликат:
Преобразовать первую букву в строке в верхний регистр

Как мне преобразовать строку в регистр заголовков в C++ "hello world" в "Hello World" . Строка может даже иметь многобайтовые символы

1 ответ

Что ж, если вы последуете совету по своему предыдущему вопросу, преобразуйте первую букву в строке в верхний регистр, все, что вам нужно сделать, это разбить строку на одно слово и заглавные.

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);
    }
}

По сути, вам просто нужно написать / использовать парсер.

Другие вопросы по тегам