- 締切済み
16進数関数のhex関数について
16進数を扱う、「hex」という関数があったようななかったような・・・。 16進数の文字列を、例えば、「"0a"」という文字列が あって、この"0a"の前に"0x"という文字列を付け足して"0x0a"とし、この"0x0a"を10という整数値に変換したいのですが、どのようなソースファイルになりますか。 初心者なので、どうプログラムを組んで良いのか分かりませんでしたので、教えて下さい。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- inetd
- ベストアンサー率23% (43/184)
回答No.3
strtol() を使ったら良いと思います。"0x" はあってもなくても出来ます。 例) char s[] = "0a"; long n; n = strtol(s, NULL, 16);
- K-1
- ベストアンサー率21% (832/3844)
回答No.2
言語がわからないのですが、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"と入ります。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.1
int x; char buff[]="0a"; sscanf(buff,"%X",&x); というような形で変換できます。 この場合、"0x"は、付けても付けなくてもいいです。