Строка С++ в верхнем и нижнем регистре
В этой статье мы углубимся в преобразование входной строки в нижний и верхний регистр в C++. Класс C++ String предоставляет огромное количество встроенных функций для выполнения операций над входной строкой.
Строка С++ в верхнем регистре
C++ String имеет встроенную функцию toupper()
для преобразования входной строки в верхний регистр.
Синтаксис:
toupper(input_string)
Пример:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char arr[] = "Engineering Discipline.";
cout << "Original String:\n"<< arr<< endl;
cout<<"String in UPPERCASE:\n";
for (int x=0; x<strlen(arr); x++)
putchar(toupper(arr[x]));
return 0;
}
В приведенном выше фрагменте кода пакет cstring содержит функции, связанные со строками. Кроме того, функция strlen() используется для вычисления длины входной строки.
Метод putchar() используется для отображения данных на экране/консоли.
Выход:
Original String:
Engineering Discipline.
String in UPPERCASE:
ENGINEERING DISCIPLINE.
Преобразование вводимого символа в верхний регистр
Мы даже можем преобразовать символы/строку в верхний/нижний регистр, учитывая значения ASCII входных символов.
Значения ASCII для строчных букв (a-z): 97–122
Значения ASCII для букв верхнего регистра (A-Z): 65–92
Пример:
#include <iostream>
using namespace std;
int main()
{
char X;
cout<<"Enter a character:";
cin>>X;
X=X-32;
cout<<"Converted character to UPPERCASE:";
cout<<X;
return 0;
}
Как видно выше, разница между диапазоном значений ASCII строчных и прописных букв составляет 32, т.е. 97-65.
Итак, чтобы преобразовать ввод в верхний регистр, нам нужно вычесть 32 из значения ASCII вводимого символа.
Выход:
Enter a character:f
Converted character to UPPERCASE:F
Строка С++ в нижний регистр
C++ String имеет встроенную функцию tolower()
для преобразования входной строки в нижний регистр.
Синтаксис:
tolower(input)
Пример:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char arr[] = "Engineering Discipline.";
cout << "Original String:\n"<< arr<< endl;
cout<<"String in lowercase:\n";
for (int x=0; x<strlen(arr); x++)
putchar(tolower(arr[x]));
return 0;
}
Выход:
Original String:
Engineering Discipline.
String in lowercase:
engineering discipline.
Преобразование вводимого символа в нижний регистр
Пример:
#include <iostream>
using namespace std;
int main()
{
char X;
cout<<"Enter a character:";
cin>>X;
X=X+32;
cout<<"Converted character to lowercase:";
cout<<X;
return 0;
}
Нам нужно добавить 32 к значению ASCII входного символа, чтобы преобразовать его в нижний регистр.
Выход:
Enter a character:R
Converted character to lowercase:r
Заключение
В этой статье мы поняли преобразование ввода символов и строк в нижний и верхний регистр в C++. В отношении методов ASCII важно отметить тот факт, что они просто преобразуют введенные символы в ASCII, а затем обратно. Если кто-то введет число вместо символа, вы получите случайный вывод.
Таким образом, вы можете либо обработать входные данные и убедиться, что введенные значения на самом деле являются символами, либо просто использовать функции toupper() и tolower(). Мы надеемся, что этот урок был полезен для вас. Комментарий ниже, если у вас есть какие-либо вопросы.
Рекомендации
- Строка C++ в верхнем регистре
- Строка C++ в нижнем регистре