-2

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

12ab43c ..のような 16 進数の文字列行があります (ただし、文字列として読み取ったことがあります)。それを unsigned char* linehex に渡すか、16 進数に直接渡したいので、後で使用できます。さらなる計算のための私のプログラム。これを行う最も効率的な方法はどれですか?

4

1 に答える 1

3

最も簡単な方法は、文字列として読み取ってから変換するのではなく、最初に数値として読み取ることです。例えば:

some_stream >> std::hex >> your_number;

クイックデモコード:

#include <iostream>

int main() {    
    int x;

    std::cin >> std::hex >> x;

    std::cout << x << "\n";
    return 0;
}

入力:ff
出力:255

于 2012-09-24T15:42:27.857 に答える