C/C++標準ライブラリの標準入出力ストリームにおける char/wchar_t 型混在についてメモ。またはCの printf/wprintf 関数、C++の cout/wcout オブジェクト混在利用に関する話題。 まとめ:ある標準入出力ストリームに対する char/wchar_t 入出力操作の混在禁止。 C言語 C標準ライブラリ提供の(ファイル)ストリームは、「orientation未確定」「バイト指向ストリーム(byte-oriented stream)」「ワイド指向ストリーム(wide-oriented stream)」のいずれかの状態をとる。プログラム初期化直後の標準入出力ストリームはorientationを持たないが、最初に入出力操作を行った関数に応じてバイト指向/ワイド指向が決まる。例:printf関数 → バイト指向、wprintf関数 → ワイド指向。 バイト指向ストリー