こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

16進数関数のhex関数について

16進数を扱う、「hex」という関数があったようななかったような・・・。
16進数の文字列を、例えば、「"0a"」という文字列が
あって、この"0a"の前に"0x"という文字列を付け足して"0x0a"とし、この"0x0a"を10という整数値に変換したいのですが、どのようなソースファイルになりますか。
初心者なので、どうプログラムを組んで良いのか分かりませんでしたので、教えて下さい。

投稿日時 - 2004-09-09 01:47:09

QNo.994484

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

strtol() を使ったら良いと思います。"0x" はあってもなくても出来ます。

例)
char s[] = "0a";
long n;

n = strtol(s, NULL, 16);

投稿日時 - 2004-09-13 02:54:49

ANo.2

K-1

言語がわからないのですが、0xからCと判断して。

int a;
char *ten = "0a";

a = hex(ten);

aに10が入ります。

もし「0x0a」という文字列が欲しいなら、

char *ten = "0a";
char work[5];

sprintf(&work[0], "0x%s", ten);

workに"0x0a"と入ります。

投稿日時 - 2004-09-09 11:40:14

ANo.1

int x;
char buff[]="0a";
sscanf(buff,"%X",&x);
というような形で変換できます。
この場合、"0x"は、付けても付けなくてもいいです。

投稿日時 - 2004-09-09 05:47:47

あなたにオススメの質問