• 締切済み

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

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

みんなの回答

  • 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"は、付けても付けなくてもいいです。

関連するQ&A

専門家に質問してみよう