Я искал и не нашел ответа на этот вопрос. Я прошу пользователя ввести свое имя, и я хочу автоматически форматировать имя так, чтобы независимо от того, как они вводят имя, оно будет выглядеть как первая буква первой буквы, а нижний регистр - остальное. Например, если они войдут в «joHN», программа все равно выведет свое имя как «Джон».Заглавная буква первая, нижний регистр остальные
У меня есть следующий код для их ввода имени:
string name;
cout << "Please enter your first name: ";
cin >> name;
Я предполагаю, что я должен буду использовать ToUpper и ToLower команд, но я действительно не знаю, как писать что-то, чтобы настроить каждый символ в строка. Любая помощь будет оценена по достоинству.
Спасибо.
только комментарий для большинства отвечающими: Я думаю, что предложить алгоритм STL, основанный на итераторы и других машин C++ не является хорошим ответом для кого-то, кто спрашивает о верхней/нижней функции. Он/она является новичком C++. Вот почему я не упомянул 'std :: transform()', что является самым элегантным решением до сих пор. – Manu343726
@ Manu343726, правда, но не каждый, кто приходит сюда, будет полным «новичком». –