Boost Spirit の qi::int_parser と oct/hex の注意点2020年11月30日 14時50分53秒

Boost Spirit は各種 N 進数のパースも実装されている。八進数や十六進数を用いるのであれば、そのまま oct と hex と言う名前で実装されている。

oct と hex の注意点だが、こちらは基本的に符号無しの実装になっている。そのため、unsigned int 型になる。

八進数や十六進数を符号付きでパースしたいのであれば、qi::int_parser<int, 8>>()qi::int_parser<int, 16>() の様に、int_parser を用いる必要がある。二つめの引数は、基底を任意で指定できるので、二進数なんかも簡単に実装できてしまう。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2020/11/30/9321986/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。