teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

hexdump

2017/07/03 17:10

投稿

yumetodo
yumetodo

スコア5852

answer CHANGED
@@ -15,4 +15,8 @@
15
15
 
16
16
  > バイナリモードで開いて、それを16進数で表示しているんですが、この方法だと、Pnが解析できないですよね?
17
17
 
18
- 何故でしょう?まあそのそもなんで`std::istream::get()`を呼び出すなんていう面倒な方法でPnのnの解析を試みているのか不思議ですが。
18
+ 何故でしょう?まあそのそもなんで`std::istream::get()`を呼び出すなんていう面倒な方法でPnのnの解析を試みているのか不思議ですが。
19
+
20
+ あとなんか不思議なhexdumpの仕方をしますね・・・。`std::setfill()`とか`std::setw()`とか使いましょう?
21
+ 参考までに私が前に書き捨てたhexdumpするコードを置いておきます
22
+ [https://gist.github.com/yumetodo/ac2e62583493b1e0ed8f609c686b6c70](https://gist.github.com/yumetodo/ac2e62583493b1e0ed8f609c686b6c70)

2

追記を見て

2017/07/03 17:10

投稿

yumetodo
yumetodo

スコア5852

answer CHANGED
@@ -9,4 +9,10 @@
9
9
 
10
10
  P3<->P6は・・・データ構造で悩み中。
11
11
 
12
- BitMaskを書くのはだるかったので`std::bitset`を使いました。
12
+ BitMaskを書くのはだるかったので`std::bitset`を使いました。
13
+
14
+ # 追記を見て
15
+
16
+ > バイナリモードで開いて、それを16進数で表示しているんですが、この方法だと、Pnが解析できないですよね?
17
+
18
+ 何故でしょう?まあそのそもなんで`std::istream::get()`を呼び出すなんていう面倒な方法でPnのnの解析を試みているのか不思議ですが。

1

sample

2017/07/03 17:01

投稿

yumetodo
yumetodo

スコア5852

answer CHANGED
@@ -1,1 +1,12 @@
1
- P1にするには1byte=8bitずつ読み込んでBitMaskをつかって1bitずつ取り出して、それが1か0かで文字を書き出すプログラムを書けばいいかと思われます。
1
+ P1にするには1byte=8bitずつ読み込んでBitMaskをつかって1bitずつ取り出して、それが1か0かで文字を書き出すプログラムを書けばいいかと思われます。
2
+
3
+ # 追記
4
+
5
+ とりあえずC++でPBM(P4->P1)の変換を作ってみました
6
+ [https://github.com/yumetodo/PBMConverter](https://github.com/yumetodo/PBMConverter)
7
+
8
+ P1->P4やP2<->P5もすぐできる気がします。
9
+
10
+ P3<->P6は・・・データ構造で悩み中。
11
+
12
+ BitMaskを書くのはだるかったので`std::bitset`を使いました。