変換ルーチン・I/O変換フラグ

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

ディスク上のファイルだけでなく、プリンタ、通信回線などのデバイスもファイルとして扱われます。
数値をプリンタや端末に出力するには、数値を文字へと変換する必要があります。
「123」という数字は、「”1″, “2”, “3”」という文字に変換する必要があります。

スポンサーリンク

<<演算子

データを文字にしてファイルに出力(書き込み)するには、<<演算子を使用します。 これまでも、出力のために<<演算子をデフォルト設定で使ってきました。 <<演算子は、I/O変換フラグをを用いることで、フラグをセットできます。 フラグのセットは・・・

file.setf(flags);    // フラグのセット
file.unsetf(flags);    // フラグのクリア

で行えます。
以下は、10進数、16進数のフラグをクリア、セットして、数値を出力するコード。

#include <iostream>
 
int main() {
    int number = 0xAF;
    std::cout << "Dec: " << number << "\n";    // デフォルトは10進数
 
    std::cout.unsetf(std::ios::dec);    // 10進数をクリア
    std::cout.setf(std::ios::hex);    // 16進数をセット
 
    std::cout << "Hex: " << number << "\n";
 
    std::cout.setf(std::ios::dec);
 
    return 0;
}

実行結果。

Dec: 175
Hex: af
スポンサーリンク
 
スポンサーリンク