如何返回首字母大写的单词

时间:2013-10-16 04:17:04

标签: c++

我有以下内容:

string ProperNoun::GetWord() {
    word[0] = toupper(word[0]);
    return (word);
}

我无法尝试这样做,所以从getter这个单词返回的单词会使第一个字母大写,如果它是一个正确的单词,使用上面的代码会使我的字典中的单词不可用,我认为它使这个词大写,然后搜索,因此我改变了我正在寻找有大写字母的单词虽然它仍然没有找到它。我的问题是,如果我的代码是正确的,那么如何使我的代码大写第一个字母。

1 个答案:

答案 0 :(得分:1)

您可以在第二个单词getter中进行大写,仅用于显示。此getter不会修改存储的单词。

string ProperNoun::GetWordForDisplay() {
    string s = word;
    s[0] = toupper(s[0]);
    return s;
}

或者,您可以添加第二个单词getter以用于字典搜索。此getter可以返回该单词的小写副本。

string ProperNoun::GetWordForSearch() {
    string s = word;
    std::transform(s.begin(), s.end(), s.begin(), ::tolower);
    return s;
}