2011-12-16 104 views
-2

可能重複:
Convert first letter in string to uppercase小寫的字符串,句首字母大寫

如何將字符串轉換爲標題情況下,C++ 的 「Hello World」 爲 「Hello World」。字符串甚至可以有多字節字符

+1

你正在尋找一個庫函數嗎?或者你在問一個算法的描述嗎? – 2011-12-16 06:47:01

+0

既然你提到了多字節,我已經將它重新標記爲[tag:wstring]。如果這是不正確的,你可以改回它,並更具體地說明你正在使用什麼。 (舉一個例子。) – 2011-12-16 06:58:09

回答

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

基本上,你只需要編寫/使用解析器。