8

重複の可能性:
C++ は 16 進文字列を符号付き整数に変換します

私はすでにグーグルで検索しましたが、何の助けも見つかりませんでした。だからここに私の問題があります: 私はすでに 16 進コードを含む文字列を持っています。文字列を、バイナリ ファイルで読み取った 16 進コードと比較する必要があります。

(文字列を変換する基本的なアイデアが必要です) 5f よろしくお願いします。

編集: unsigned char 形式のバイナリ ファイル情報を取得しました。SO その 0x5f... 文字列を同じ形式にしたい

4

3 に答える 3

17

次のように使用std:stoiします (C++11 のみ):

std::string s = "5f0066";
int num = std::stoi(s, 0, 16);

オンラインデモ

于 2012-07-23T08:36:19.233 に答える
14

stringstreamstd::hexを使用する

std::stringstream str;
std::string s1 = "5f0066";
str << s1;
int value;
str >> std::hex >> value;
于 2012-07-23T08:34:10.560 に答える
7

strtol(str, NULL, 16)またはstrtoul(str, NULL, 16)必要なことを行う必要があります。

ストトルストル _

于 2012-07-23T08:33:18.813 に答える