sscanf_s
"2D34F295D092"みたいな文字列を16進数と解釈して整数型に変換する〜みたいな話を以前しましたが、(この場合、49705431453842になります)
int sscanf_s( const char *buffer, const char *format [, argument ] ... );
これを使って
char hex[] = "2D34F295D092"; unsigned __int64 num; // 64ビット整数型 unsigned long long int と等価 sscanf_s(hex, "%llX", &num); // hexの文字列をlong longのX(大文字16進数)として解釈し // 整数型 num に格納する cout << num << "\n";
でちゃんとnumに49705431453842の値が収納されることがわかりました。
sscanf_s 関数については
http://msdn.microsoft.com/ja-jp/library/t6z7bya3%28VS.80%29.aspx
また、解釈時の書式指定子についてはこちら参照
http://www1.cts.ne.jp/~clab/hsample/IO/IO18.html