gpt4 book ai didi

c++ - 无法让 toupper 使用 vector

转载 作者:行者123 更新时间:2023-11-30 01:57:44 25 4
gpt4 key购买 nike

我正在练习将单词存储在 <vector> 中的 string s,然后将所有字母转为大写,每行打印出八个单词。一切正常,除了 toupper()我的代码的一部分。这就是全部:

vector<string> words;
string theWords;
string word;

while(cin >> word)
words.push_back(word);

for(auto &i : words) {
word = i;
for(auto &j: word)
j = toupper(j);
}

int k = 0;
for(auto i : words) {
cout << i << " ";
++k;
if(k % 8 == 0)
cout << endl;
}

最佳答案

您将新更新的字符串存储在 word 中,但您应该更新 i

改变这个

for(auto &i : words) {
word = i;
for(auto &j: word) // word is updated, but your vector is not
j = toupper(j);
}

...为此:

for (auto &i : words)      // for every string i in words vector
for (auto &j : i) // update your i, not word
j = toupper(j);

关于c++ - 无法让 toupper 使用 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com