如何在C++中处理字符串?
大家好!我开始学习C++,在处理字符串时遇到了问题。我试图编写一个简单的程序,读取用户名,然后将该名字转换为大写后输出问候语。但代码的运行结果与预期不符。
以下是我尝试的代码:
#include <iostream>
#include <string>
#include <cctype>
int main() {
std::string name;
std::cout << "请输入名字:";
std::cin >> name;
for (char c : name) {
c = std::toupper(c);
}
std::cout << "你好," << name << "!" << std::endl;
return 0;
}问题在于名字输出时仍保持原始大小写,而我期望它变成大写。看起来for each循环并没有修改原始字符串。我也尝试过使用std::getline代替std::cin >>,但问题依旧。
预期结果:如果我输入"j