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; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
- std 名前空間を呼び出さずにそのクラスを使用するために、コードに std 名前空間を含めます。
- main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
- Grade という名前の文字変数を宣言します。 変数には値 B も割り当てられています。変数の値が一重引用符で囲まれていることに注意してください。
- 変数 Grade の値を他のテキストと一緒にコンソールに表示します。
- プログラムは正常に完了すると値を返す必要があります。
- 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; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- iostream ヘッダー ファイルをコードに組み込み、その機能を使用します。
- std 名前空間を呼び出さずにそのクラスを使用するために、コードに std 名前空間を含めます。
- main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
- ch という名前の char 変数を宣言します。
- コンソールにテキストを出力します。 このテキストは、変数 ch の値を入力するようにユーザーに求めます。
- キーボードからユーザー入力を読み取り、変数 ch に保存します。
- コンソールにテキストを出力します。 テキストには、変数 ch に入力した文字、この文字の ASCII 値、およびその他のテキストが含まれます。
- プログラムは正常に完了すると値を返す必要があります。
- 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; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- iostream ヘッダー ファイルをコードに組み込みます。 次に、エラーが発生することなくその関数を使用します。
- std 名前空間をコードに含めます。 呼び出さずにそのクラスを使用します。
- main() 関数を呼び出します。 プログラム ロジックはこの関数の本体に含める必要があります。
- 65 つの char 変数 x、y、z を宣言します。 これら 66 つは、67、XNUMX、および XNUMX の整数値に割り当てられています。これらは、文字の ASCII 値として扱われます。
- 変数 x の値をコンソールに出力します。 x は char として宣言されているため、ASCII 値 65 の char、つまり A が返されます。
- 変数 y の値をコンソールに出力します。 y は char として宣言されているため、ASCII 値 66 の char、つまり B が返されます。
- 変数 z の値をコンソールに出力します。 z は char として宣言されているため、ASCII 値 67 の char、つまり C が返されます。
- プログラムは正常に完了すると値を返す必要があります。
- 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; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
- std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
- main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
- コンソールにテキストを出力します。
- ch という名前の文字変数を宣言します。
- キーボードからのユーザー入力を読み取ります。 入力は変数 ch に保存されます。 ユーザーは abc のような文字シーケンスを入力するため、最初の文字 a だけが変数 ch に格納されます。
- 入力された最初の文字、その ASCII コード、およびその他のテキストをコンソールに表示します。 ASCII コードは、文字変数を int() 関数に渡すことによって決定されます。
- ユーザーが入力した次の文字を読み取ります。 ユーザーは新しい文字を入力する必要はありません。 代わりに、入力された XNUMX 番目の文字、つまり b が読み取られます。
- 入力された XNUMX 番目の文字、その ASCII コード、およびその他のテキストをコンソールに表示します。 ASCII コードは、文字変数を int() 関数に渡すことによって決定されます。
- プログラムは正常に完了すると値を返す必要があります。
- 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; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- iostream ヘッダー ファイルをコードに含めて、その機能を使用します。
- その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
- std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
- main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
- 文字「C」を長さ 1 の文字列に変換し、その結果の文字列を変数 st に代入します。
- 文字列 st の値を他のテキストと一緒にコンソールに出力します。
- プログラムは正常に完了すると値を返す必要があります。
- 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; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
- その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
- std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
- main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
- st という名前の文字列変数を作成します。
- b という値で B という名前の文字を作成します。
- 値 A を st という名前の文字列に割り当てます。
- 文字を文字列に変換するには、+= 演算子を使用します。
- 文字列 st の値を他のテキストと一緒にコンソールに出力します。
- プログラムは正常に完了すると値を返す必要があります。
- 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; }
出力:
コードのスクリーンショットは次のとおりです。
- その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
- その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
- std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
- main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
- st という名前の文字列変数を作成します。
- 文字 A を文字列の末尾に割り当てます。
- 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
- 文字列 st の値を空に設定します。
- 単一文字 C を st という名前の文字列に割り当てます。
- 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
- 文字列 st の値を空に設定します。
- 文字列 st の内容を単一の文字 D に置き換えます。
- 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
- 単一文字 E を st という名前の文字列の最初のインデックスから挿入します。
- 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
- プログラムは正常に完了すると値を返す必要があります。
- 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; }
出力:
コードのスクリーンショットは次のとおりです。
コードの説明:
- その関数を使用するには、コードに iostream ヘッダー ファイルを含めます。
- その関数を使用するには、コードに文字列ヘッダー ファイルを含めます。
- その機能を使用するには、コードに sstream ヘッダー ファイルを含めます。
- std 名前空間をコードに含めると、そのクラスを呼び出さずに使用できます。
- main() 関数を呼び出します。 プログラム ロジックは、この関数の本体内に追加する必要があります。
- st という名前の文字列変数を作成します。
- myst という名前のストリーム変数を作成します。
- 文字 A を myst という名前のストリーム オブジェクトに挿入します。
- ストリームオブジェクトを文字列に変換します。
- 文字列 st の値を他のテキストと一緒にコンソールに出力します。 endl (終了行) はカーソルを次の行に移動します。
- プログラムは正常に完了すると値を返す必要があります。
- main() 関数の本体の終わり。
まとめ
- チャーは C++ 文字の保存に使用されるデータ型。
- C++ Char は整数データ型であり、値が整数として格納されることを意味します。
- 1 バイトのメモリ サイズを占有します。
- C++ Char は単一の文字のみを格納します。
- Char 値は ASCII 文字として解釈されます。
- ASCII は、American Standard Code for Information Interchange の頭字語です。
- 英語の文字を数字の形で表す特定の方法を規定します。
- 文字の ASCII 値を確認するには、それを int() 関数に渡します。
- ASCII 値に対応する char 値を確認するには、ASCII を文字として定義します。