ページ 11

コマンド引数で16進

Posted: 2007年6月22日(金) 18:35
by
ビットシフトを計算するプログラムを作ろうとしています。

コマンド引数から16進数の値を取りたいのですが、それは可能でしょうか?

プロンプトから下記のように呼び出して計算を行おうとしています。
>***.exe [元の値] [シフト方向] [シフト数]
(ex: >***.exe 0x10 up 1)

現在作成中ですが、第一引数が10進なら問題なくできるのですが、
16進数での表記が多いため、16進数をコマンドから持ってきたいのです。

知っておられる方がいらっしゃいましたら、ご回答よろしくお願いいたしいます。

Re:コマンド引数で16進

Posted: 2007年6月22日(金) 19:18
by
 コマンドライン引数は文字列なので、入力値に10進、16進なんて関係ないかと・・思います。
入力された文字列から、16進に変換する関数なりを作成するしかないのではないでしょうか?

Re:コマンド引数で16進

Posted: 2007年6月22日(金) 19:38
by YuO
strtol関数を使えばよいです。
基数を指定できるので,一応36進数の入力とか,2進数の入力とかも可能にできます。
# 0だと0xを前置で16進数,といった感じになる。