C++で文字列を大文字に変換する方法と小文字に変換する方法

この記事では、C++での入力文字列の大文字と小文字への変換について探究します。C++のStringクラスには、入力文字列に対してさまざまな操作を行うための多数の組み込み関数が用意されています。


C++の文字列を大文字に変換する

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値を考慮して、文字/文字列を大文字/小文字に変換することもできます。

小文字アルファベット(a-z)のASCII値は、97から122までです。

大文字アルファベット(A-Z)のASCII値は、65から92までです。

例:
– Can you please help me with my homework?
– 宿題を手伝ってもらえませんか?

私の宿題を手伝っていただけませんか?

#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の差があることがわかります。

入力を大文字に変換するために、入力文字のASCII値から32を引く必要があります。

出力:
「以下の内容を日本語で自然に言い換えてください。1つのオプションで構いません。」

Enter a character:f
Converted character to UPPERCASE:F

C++の文字列を小文字に変換する

C++ の文字列には、入力された文字列を小文字に変換するための組み込み関数 tolower() があります。

文法:

tolower(input)

“I am going to the store tomorrow.”

明日、私は店に行きます。

#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;
}

入力文字のASCII値に32を追加して小文字に変換する必要があります。

結果:

Enter a character:R
Converted character to lowercase:r

結論

この記事では、C++での文字と文字列の変換を小文字と大文字で理解しました。ASCIIメソッドに注意すべき重要な点は、入力された文字を単にASCIIに変換してから元に戻すということです。キャラクターではなく数字が入力されると、ランダムな出力が得られます。

入力を処理し、入力された値が実際に文字であることを確認するか、または単純にtoupper()関数とtolower()関数を使用することができます。このチュートリアルが役立ったことを願っています。質問がある場合は、以下にコメントしてください。


参考文献

  • C++ String to Uppercase
  • C++ String to LowerCase
コメントを残す 0

Your email address will not be published. Required fields are marked *