C での整数の 16 進文字列への変換
C では、
std::hex を使用するには、単にそれを整数の前に挿入します。変換したい:
std::stringstream stream; stream << std::hex << your_int; std::string result(stream.str());
「0x」などの接頭辞を 16 進表現に追加することもできます。最初の挿入:
stream << "0x" << std::hex << your_int;
その他の興味深いマニピュレータは、std::oct (8 進数) と std::dec (10 進数) です。
潜在的な課題の 1 つは、16 進文字列に必ず一貫した桁数。これに対処するには、std::setfill と std::setw:
stream << std::setfill('0') << std::setw(sizeof(your_type) * 2) << std::hex << your_int;
を使用できます。最後に、整数を 16 進文字列に変換するための推奨関数を次に示します。
template<typename T> std::string int_to_hex(T i) { std::stringstream stream; stream << "0x" << std::setfill('0') << std::setw(sizeof(T) * 2) << std::hex << i; return stream.str(); }
以上がC で整数を 16 進文字列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。