C++ Char データ型の例

シャアとは?

チャーは C++ 文字を保存するために設計されたデータ型。 char は英数字の略語です。これは整数データ型であり、値は整数として保存されます。 char は 1 バイトのメモリ サイズを必要とします。また、XNUMX つの文字を保存します。

ASCIIとは何ですか?

char 値は ASCII 文字として解釈されます。これは、ブール値が true または false として解釈される方法に似ています。ASCII は、American Standard Code for Information Interchange (情報交換用米国標準コード) の略語です。これは、英語の文字を数字として表す特定の方法を定義します。

数字の範囲は 0 から 127 です。たとえば、文字「a」は ASCII コード 97 に相当します。

Char宣言

を宣言するには char変数 C++では、char キーワードを使用します。 この後に変数の名前を続ける必要があります。 変数は宣言時に初期化できます。 変数の値は一重引用符で囲む必要があります。

構文

char宣言の構文は次のとおりです。 C++:

char variable-name;

変数名は変数に割り当てる名前です。

宣言時に値を割り当てる場合は、次の構文を使用できます。

char variable-name = 'value';	
  • variable-name は char 変数の名前です。
  • value は、char 変数に割り当てられる値です。

例1:

#include <iostream>
using namespace std;
int main() {
	char grade = 'B';
	cout << "I scored a: "<<grade;
	return 0;
}

出力:

Char宣言

コードのスクリーンショットは次のとおりです。

Char宣言

コードの説明:

  1. iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
  2. std 名前空間を呼び出さずにそのクラスを使用するために、コードに std 名前空間を含めます。
  3. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  4. Grade という名前の文字変数を宣言します。 変数には値 B も割り当てられています。変数の値が一重引用符で囲まれていることに注意してください。
  5. 変数 Grade の値を他のテキストと一緒にコンソールに表示します。
  6. プログラムは正常に完了すると値を返す必要があります。
  7. main() 関数の本体の終わり。

ASCII値の印刷

上で述べたように、各文字は ASCII 文字として解釈されます。 任意の文字の ASCII 値を取得することができます。 文字を int() 関数に渡すだけです。 このプロセスは型キャストと呼ばれます。 これを実証してみましょう:

例2:

#include <iostream>
using namespace std;
int main() {
	char ch;
	cout << "Enter any character: ";
	cin >> ch;
	cout << "The ASCII Value of " << ch << " is " << int(ch);
	return 0;
}

出力:

ASCII値の印刷

コードのスクリーンショットは次のとおりです。

ASCII値の印刷

コードの説明:

  1. iostream ヘッダー ファイルをコードに組み込み、その機能を使用します。
  2. std 名前空間を呼び出さずにそのクラスを使用するために、コードに std 名前空間を含めます。
  3. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  4. ch という名前の char 変数を宣言します。
  5. コンソールにテキストを出力します。 このテキストは、変数 ch の値を入力するようにユーザーに求めます。
  6. キーボードからユーザー入力を読み取り、変数 ch に保存します。
  7. コンソールにテキストを出力します。 テキストには、変数 ch に入力した文字、この文字の ASCII 値、およびその他のテキストが含まれます。
  8. プログラムは正常に完了すると値を返す必要があります。
  9. main() 関数の本体の終わり。

文字値の印刷

ASCII値が与えられた場合、 C++ コンパイラは対応する文字を返すことができます。char 変数を宣言し、それに整数値を割り当てます。対応する文字値に変換されます。

例3:

#include <iostream>
using namespace std;
int main() {
	char x = 64, y = 66, z = 71;
	cout << x;
	cout << y;
	cout << z;
	return 0;
}

出力:

文字値の印刷

コードのスクリーンショットは次のとおりです。

文字値の印刷

コードの説明:

  1. iostream ヘッダー ファイルをコードに組み込みます。 次に、エラーが発生することなくその関数を使用します。
  2. std 名前空間をコードに含めます。 呼び出さずにそのクラスを使用します。
  3. main() 関数を呼び出します。 プログラム ロジックはこの関数の本体に含める必要があります。
  4. 65 つの char 変数 x、y、z を宣言します。 これら 66 つは、67、XNUMX、および XNUMX の整数値に割り当てられています。これらは、文字の ASCII 値として扱われます。
  5. 変数 x の値をコンソールに出力します。 x は char として宣言されているため、ASCII 値 65 の char、つまり A が返されます。
  6. 変数 y の値をコンソールに出力します。 y は char として宣言されているため、ASCII 値 66 の char、つまり B が返されます。
  7. 変数 z の値をコンソールに出力します。 z は char として宣言されているため、ASCII 値 67 の char、つまり C が返されます。
  8. プログラムは正常に完了すると値を返す必要があります。
  9. main() 関数の本体の終わり。

文字の入力

std::cin 関数を使用すると、ユーザーがキーボードから入力した文字を読み取ることができます。std::cin を使用すると、多くの文字を入力できます。ただし、文字変数は 1 文字しか保持できません。つまり、入力された最初の文字のみが抽出され、文字変数に格納されます。残りは std::cin が使用するバッファに残ります。抽出するには、std::cin を続けて呼び出します。

例4:

#include <iostream>
using namespace std;
int main() {
	cout << "Type a sequence of characters: "; 
	char ch;
	cin >> ch; 
	cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';
	cin >> ch; 
	cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';
	return 0;
}

出力:

文字の入力

コードのスクリーンショットは次のとおりです。

文字の入力

コードの説明:

  1. iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
  2. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  3. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  4. コンソールにテキストを出力します。
  5. ch という名前の文字変数を宣言します。
  6. キーボードからのユーザー入力を読み取ります。 入力は変数 ch に保存されます。 ユーザーは abc のような文字シーケンスを入力するため、最初の文字 a だけが変数 ch に格納されます。
  7. 入力された最初の文字、その ASCII コード、およびその他のテキストをコンソールに表示します。 ASCII コードは、文字変数を int() 関数に渡すことによって決定されます。
  8. ユーザーが入力した次の文字を読み取ります。 ユーザーは新しい文字を入力する必要はありません。 代わりに、入力された XNUMX 番目の文字、つまり b が読み取られます。
  9. 入力された XNUMX 番目の文字、その ASCII コード、およびその他のテキストをコンソールに表示します。 ASCII コードは、文字変数を int() 関数に渡すことによって決定されます。
  10. プログラムは正常に完了すると値を返す必要があります。
  11. main() 関数の本体の終わり。

文字を文字列に変換する

文字を次のように変換する方法は数多くあります。 ストリング.

それらについて議論しましょう:

#1: String クラスで指定されたコンストラクターを使用する

これは次の構文を使用して実行できます。

string st(int n,char x);

パラメータ n は、生成される文字列のサイズを示します。

パラメータ x は、文字列に変換する文字です。

関数は文字列を返します。

例5:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st(1, 'C');
	cout << "The resulting string is : " << st;
	return 0;
}

出力:

文字を文字列に変換する

コードのスクリーンショットは次のとおりです。

文字を文字列に変換する

コードの説明:

  1. iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
  2. その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
  3. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  4. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  5. 文字「C」を長さ 1 の文字列に変換し、その結果の文字列を変数 st に代入します。
  6. 文字列 st の値を他のテキストと一緒にコンソールに出力します。
  7. プログラムは正常に完了すると値を返す必要があります。
  8. main() 関数の本体の終わり。

#2) std::string の使用 Operaトール = と +=

= 演算子と += 演算子はすでに文字でオーバーロードされています。この 2 つを使用して、特定の文字を文字列に変換できます。

例6:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	char b = 'B';
	st = 'A';
	st += b;
	cout << "The resulting string is : " << st;
	return 0;
}

出力:

文字を文字列に変換する

コードのスクリーンショットは次のとおりです。

文字を文字列に変換する

コードの説明:

  1. その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
  2. その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
  3. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  4. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  5. st という名前の文字列変数を作成します。
  6. b という値で B という名前の文字を作成します。
  7. 値 A を st という名前の文字列に割り当てます。
  8. 文字を文字列に変換するには、+= 演算子を使用します。
  9. 文字列 st の値を他のテキストと一緒にコンソールに出力します。
  10. プログラムは正常に完了すると値を返す必要があります。
  11. main() 関数の本体の終わり。

#3: std::string メソッドの使用

std::string クラスには、文字を文字列に変換するのに役立つ多くのオーバーロードされた関数が付属しています。

彼らを含める:

  • プッシュバック この関数は、文字列の末尾に特定の文字を割り当てます。文字に対してオーバーロードされます。構文は次のとおりです。
    void push_back(char ch)
    

    パラメータ ch は、文字列に変更される文字です。

  • アペンド 特定の文字のコピーを文字列に複数割り当てます。この関数の構文は次のとおりです。
    string& append(size_t n,char ch)
    

    パラメータ n は、文字が追加される回数を示します。

    パラメータ ch は、文字列に追加する文字です。

  • 割り当てます この関数は、文字列の現在の内容を指定された文字の n 個のコピーに置き換えます。構文は次のとおりです。
    string& assign(size_t n,char ch);

    パラメータ n は、キャラクターの合計コピー数を示します。

    パラメータ ch は、文字列にコピーする文字です。

  • insert 挿入関数は、引数で指定された文字列の開始位置に文字の n 個のコピーを挿入します。構文は次のとおりです。
    string& insert(size_t p,size_t n,char ch);

    p パラメータは、文字が挿入される先頭からの位置を示します。

    パラメータ n は、キャラクターの合計コピー数を示します。

    パラメータ ch は、文字列に挿入される文字です。

例7:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	st.push_back('A');
	cout << "push_back A returns : " << st << endl;
	st = "";
	st.append(1, 'C');
	cout << "append C returns : " << st << endl;
	st = "";
	st.assign(1, 'D');
	cout << "assign D returns : " << st << endl;
	st.insert(0, 1, 'E');
	cout << "insert single character returns : " << st << endl;
	return 0;
}

出力:

文字を文字列に変換する

コードのスクリーンショットは次のとおりです。

文字を文字列に変換する

  1. その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
  2. その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
  3. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  4. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  5. st という名前の文字列変数を作成します。
  6. 文字 A を文字列の末尾に割り当てます。
  7. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  8. 文字列 st の値を空に設定します。
  9. 単一文字 C を st という名前の文字列に割り当てます。
  10. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  11. 文字列 st の値を空に設定します。
  12. 文字列 st の内容を単一の文字 D に置き換えます。
  13. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  14. 単一文字 E を st という名前の文字列の最初のインデックスから挿入します。
  15. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  16. プログラムは正常に完了すると値を返す必要があります。
  17. main() 関数の本体の終わり。

#4: std::stringstream の使用

このクラスを使用して文字を文字列に変換するには、文字をストリームに挿入します。

それらは文字列に書き込まれます。

例8:

#include<iostream>
#include <string>
#include <sstream>

using namespace std;
int main() {

	string st;

	stringstream myst;

	myst << 'A'; 
	myst >> st;

	cout << "The conversion of the single character returns the string: " << st;

	return 0;
}

出力:

文字を文字列に変換する

コードのスクリーンショットは次のとおりです。

文字を文字列に変換する

コードの説明:

  1. その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
  2. その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
  3. その機能を使用するには、コードに sstream ヘッダー ファイルを含めます。
  4. std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
  5. main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
  6. st という名前の文字列変数を作成します。
  7. myst という名前のストリーム変数を作成します。
  8. 文字 A を myst という名前のストリーム オブジェクトに挿入します。
  9. ストリームオブジェクトを文字列に変換します。
  10. 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
  11. プログラムは正常に完了すると値を返す必要があります。
  12. main() 関数の本体の終わり。

まとめ

  • チャーは C++ 文字の保存に使用されるデータ型。
  • C++ Char は整数データ型であり、値が整数として格納されることを意味します。
  • 1 バイトのメモリ サイズを占有します。
  • C++ Char は単一の文字のみを格納します。
  • Char 値は ASCII 文字として解釈されます。
  • ASCII は、American Standard Code for Information Interchange の頭字語です。
  • 英語の文字を数字の形で表す特定の方法を規定します。
  • 文字の ASCII 値を確認するには、それを int() 関数に渡します。
  • ASCII 値に対応する char 値を確認するには、ASCII を文字として定義します。