コマンド引数で16進

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

コマンド引数で16進

#1

投稿記事 by » 18年前

ビットシフトを計算するプログラムを作ろうとしています。

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

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

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

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

Re:コマンド引数で16進

#2

投稿記事 by » 18年前

 コマンドライン引数は文字列なので、入力値に10進、16進なんて関係ないかと・・思います。
入力された文字列から、16進に変換する関数なりを作成するしかないのではないでしょうか?

YuO

Re:コマンド引数で16進

#3

投稿記事 by YuO » 18年前

strtol関数を使えばよいです。
基数を指定できるので,一応36進数の入力とか,2進数の入力とかも可能にできます。
# 0だと0xを前置で16進数,といった感じになる。

閉鎖

“C言語何でも質問掲示板” へ戻る