char型に格納されている16進数文字列をintに変換するには?

解決


くりきんとん  2010-02-01 10:11:29  No: 71340  IP: [192.*.*.*]

いつもはVBばかり使用しているVC++初心者です。
例えば、以下のようなsというchar型の変数があったとします。
char s[255] = "4A6B";
この値を、int型(0x4A6B)に変換したいのですが、
そのような関数はございますでしょうか?
使用しているバージョンは2008です。
よろしくお願いします。

編集 削除
Blue  2010-02-01 10:24:01  No: 71341  IP: [192.*.*.*]

strtolを使うとか。


#include <stdlib.h>
#include <stdio.h>

int main(void)
{
  char s[255] = "4A6B";
  int n;

  n = (int)strtol(s, NULL, 16);
  printf("0x%4X\n", n);

  return 0;
}

編集 削除
くりきんとん  2010-02-01 11:18:47  No: 71342  IP: [192.*.*.*]

Blue様、早速のご回答誠にありがとうございます。
strtolでうまくいきました。ありがとうございました。

編集 削除
くりきんとん  2010-02-01 11:18:47  No: 71343  IP: [192.*.*.*]

Blue様、早速のご回答誠にありがとうございます。
strtolでうまくいきました。ありがとうございました。

編集 削除