【发布时间】:2013-11-29 21:38:29
【问题描述】:
我要求用户输入他们的姓名,并且我想自动格式化姓名,以便无论他们如何输入姓名,它都会显示为首字母大写,其余字母小写。例如,如果他们输入“joHN”,程序仍会将他们的姓名输出为“John”。
我有以下代码用于他们的姓名输入:
string name;
cout << "Please enter your first name: ";
cin >> name;
我假设我将不得不使用 toupper 和 tolower 命令,但我真的不确定如何编写一些东西来调整字符串中的每个字符。
【问题讨论】:
-
仅对大多数回答者的评论:我认为建议基于迭代器和其他 C++ 机器的 STL 算法对于询问上/下函数的人来说不是一个好的答案。他/她是 C++ 新手。这就是为什么我没有提到
std::transform(),这是迄今为止最优雅的解决方案。 -
@Manu343726,没错,但并不是每个来到这里的人都会是一个完整的“新手”。
标签: c++ lowercase capitalize tolower toupper