工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ char型をマスター:宣言、ASCII、変換テクニック

char型とは

C++のchar型は、単一文字を格納する基本的な整数データ型です。内部的には8ビット整数として表現され、正確に1バイトのメモリを占有します。整数型であるため、他の数値型と同様に算術演算や比較に参加できます。

このチュートリアルで学ぶ内容:

ASCII – 文字エンコーディングの基盤

char値が格納されるとき、C++コンパイラはそれをASCIIコード(American Standard Code for Information Interchange)として解釈します。ASCIIは各印刷可能文字に整数値(0〜127)を割り当てます。例えば、文字'a'は10進数97に対応します。

char変数の宣言

文字変数を宣言するには、charキーワードに続けて名前を指定します。オプションで、シングルクォートで囲まれた単一文字リテラルで初期化できます。

char variableName;        // 宣言のみ
char variableName = 'X';  // 初期化付き宣言

例1:charの宣言と出力

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

出力:

char変数の出力例

文字のASCII値を出力

charは本質的に整数であるため、intにキャストしてASCIIコードを明らかにできます。

例2:ユーザー入力とASCII出力

#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コードから文字を出力

整数リテラルをchar変数に代入すると、コンパイラはその整数をASCIIコードとして解釈し、対応する文字を格納します。

例3:ASCIIからcharへの変換

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

出力:

ASCIIコード64,66,71に対応する文字出力

ユーザーから文字を読み取り

抽出演算子>>は、入力された最初の非空白文字のみを読み取ります。後続の文字は読み取られるまで入力バッファに残ります。

例4:2文字の読み取り

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

出力:

連続入力からの文字読み取り例

文字を文字列に変換

単一文字をstd::stringに変換するにはいくつかの手法があります。以下に最も一般的なアプローチを示します。

#1 – 文字列コンストラクタを使用

string st(1, 'C');

これは長さ1で文字'C'を含む文字列を作成します。

例5

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

出力:

コンストラクタによる変換結果

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

出力:

代入・追加演算子による変換結果

#3 – 文字列メンバ関数を使用

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

出力:

メンバ関数による文字列構築の出力

#4 – std::stringstreamを使用

ストリーム演算子はcharに対してオーバーロードされており、文字列への簡単な変換を可能にします。

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

出力:

stringstreamによる変換結果

重要なポイント

C言語

  1. 「信頼性のインターネット」におけるデータ活用:効果的管理のための戦略
  2. 高度パフォーマンス監視でIoTのROIを最大化
  3. C++データ型完全ガイド:基本型、修飾子、ベストプラクティス
  4. C++ do-while文:構文、実践例、ネストしたループ
  5. C++ポインタをマスター:概念、例、実践的応用
  6. C++演算子オーバーロード:コード例付き実践ガイド
  7. C++構造体を実例で徹底解説
  8. C++のstd::listをマスターする:構文、関数、実践例
  9. C++関数を実例で徹底解説:基本から応用まで
  10. C++変数タイプ完全解説:メモリ、制限、操作
  11. Java型キャスト完全ガイド:拡大変換から縮小変換まで