回答編集履歴
1
コード追記
answer
CHANGED
@@ -1,3 +1,19 @@
|
|
1
1
|
過去の質問[画像ライブラリの作成(PNM)](https://teratail.com/questions/82575)より、対象ファイルは[PNM (画像フォーマット)](https://ja.wikipedia.org/wiki/PNM_(%E7%94%BB%E5%83%8F%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88))と想定して回答します。
|
2
2
|
|
3
|
-
先頭2バイトのマジックナンバーを見ればASCIIかバイナリかは分かるので、ASCII形式ならそのまま表示、バイナリ形式なら一般的なダンプ(16進)表示でよいかと思います。
|
3
|
+
先頭2バイトのマジックナンバーを見ればASCIIかバイナリかは分かるので、ASCII形式ならそのまま表示、バイナリ形式なら一般的なダンプ(16進)表示でよいかと思います。
|
4
|
+
|
5
|
+
#### 編集された質問に対しての回答
|
6
|
+
|
7
|
+
疑似コードですが、以下のような処理で、目的の動作はできるかと思います。
|
8
|
+
```C++
|
9
|
+
ファイルをバイナリで開く
|
10
|
+
while( ファイル終端まで){
|
11
|
+
c = 1byte読み込む
|
12
|
+
if( c が ASCIIのA~Z, a~z, 0~9の範囲){
|
13
|
+
cを文字(char)として表示。
|
14
|
+
}
|
15
|
+
else{
|
16
|
+
"・"を表示。
|
17
|
+
}
|
18
|
+
}
|
19
|
+
```
|