signed int
16進文字列をusingに変換するコードを見つけましたstrtol
が、短いint(2バイト)のコードが見つかりません。これが私のコードです:
while (!sCurrentFile.eof() )
{
getline (sCurrentFile,currentString);
sOutputFile<<strtol(currentString.c_str(),NULL,16)<<endl;
}
私の考えは、2バイト幅の値(0xFFEEなど)を持つファイルを読み取り、それをsigned intに変換して、結果を出力ファイルに書き込むことです。実行速度は問題ではありません。
問題を回避する方法をいくつか見つけることができましたが、「1行」のソリューションを使用したいので、これを支援できるかもしれません:)
編集:ファイルは次のようになります:
0x0400
0x03fe
0x03fe
...
編集:私はすでに16進演算子を試しましたが、それでもそうする前に文字列を整数に変換する必要があります。
// This won't work as currentString is not an integer
myInt << std::hex << currentString.c_str();