アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (3件)

言語がわからないのですが、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"と入ります。
    • good
    • 1

strtol() を使ったら良いと思います。

"0x" はあってもなくても出来ます。

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

n = strtol(s, NULL, 16);
    • good
    • 0

int x;


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!