Programming Windows Maniacs - プログラミング ウィンドウズ マニアックス ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて  
ホーム >> 基本 >> 16進数文字列を数値に変更するには

16進数文字列を数値に変更するには

  16進数文字列を int型に変更するには ShellWAPI(シェルワッピ) の StrToIntEx () APIを使うと簡単に実装できます。

  ※ shlwapi.hのインクルード、shlwapi.libのリンクが必要です。

■■■ hexstrtoint プロジェクト
main.cpp

// shlwapi.lib へのリンクが必要です。
// Win 98/2000以降で動作します。NT4はダメ。

#include <windows.h>
#include <tchar.h>

#include <shlwapi.h>

int WINAPI _tWinMain ( HINSTANCE,
    HINSTANCE,
    _TCHAR *,
    int )
{
    const _TCHAR cszHex[] = _TEXT ( "0x0a0b" );
    int nResult;
    // 変換
    if ( StrToIntEx ( cszHex, STIF_SUPPORT_HEX, &nResult ) )
    {
        // 変換に成功した場合は、表示
        _TCHAR sz[ 80 ];
        wsprintf ( sz, _TEXT ( "0x%04X は 10進数で %d" ), nResult, nResult );
        MessageBox ( NULL,
            sz,
            _TEXT ( "結果" ),
            MB_OK );
    }
    return 0;
}

  ■ ご利用に際して ■ 更新履歴 ■ お問い合わせ ■ このホームページについて Copyright © 2014 A.Morita