Поиск по сайту:

Строка С++ в верхнем и нижнем регистре


В этой статье мы углубимся в преобразование входной строки в нижний и верхний регистр в 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++ в нижнем регистре