質問: ファイルを開いてそのファイルの内容をASCII文字で表示したいです。 ファイルは画像ファイルです。 画像ファイルのフォーマット形式はバイナリとASCIIの2種類あり、画像ファイルの種類は6種類に分かれています。 ASCII文字では表示した際、はじめの2文字で画像ファイルの種類の判別ができるので、その判別が目的です。 表示は、アスキー文字で表示できるA~Z,a~z,0~9は表示し、それ以外の表示できない文字は"・"で表示したいです。
回答: 過去の質問画像ライブラリの作成(PNM)より、対象ファイルはPNM (画像フォーマット))と想定して回答します。 先頭2バイトのマジックナンバーを見ればASCIIかバイナリかは分かるので、ASCII形式ならそのまま表示、バイナリ形式なら一般的なダンプ(16進)表示でよいかと思います。 #### 編集された質問に対しての回答 疑似コードですが、以下のような処理で、目的の動作はできるかと思います。 ``` ファイルをバイナリで開く while( ファイル終端まで){ c = 1byte読み込む if( c が ASCIIのA~Z, a~z, 0~9の範囲){ cを文字(char)として表示。 } else{ "・"を表示。 } } ```