如何返回第一个字母大写的单词

How to return a word with the first letter capitalised

本文关键字:单词 第一个 何返回 返回      更新时间:2023-10-16

我有以下内容:

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

我在尝试制作它时遇到了麻烦,因此从单词 getter 返回的单词使第一个字母大写,如果它是一个专有词,使用上面的代码它使单词在我的字典中找不到,我假设它使单词大写然后搜索因此我更改了我正在搜索的单词有一个大写字母,尽管它仍然没有找到它。我的问题是,如果第一个字母是专有名词,我如何使代码大写。

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

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

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

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