StrToIntExA 関数 (shlwapi.h)

10 進数または 16 進数を表す文字列を整数に変換します。

構文

BOOL StrToIntExA(
  [in]  PCSTR      pszString,
        STIF_FLAGS dwFlags,
  [out] int        *piRet
);

パラメーター

[in] pszString

種類: PCTSTR

変換する null で終わる文字列へのポインター。 文字列の有効な形式の詳細については、「解説」セクションを参照してください。

dwFlags

種類: STIF_FLAGS

整数への変換のために pszString を解析する方法を指定する次のいずれかの値。

STIF_DEFAULT

pszString の文字列には、10 進値の表現が含まれています。

STIF_SUPPORT_HEX

pszString の文字列には、10 進数または 16 進数の値の表現が含まれています。 16 進数表現では、文字 A から F は大文字と小文字が区別されません。

[out] piRet

型: int*

変換された文字列を受け取る int へのポインター。 たとえば、文字列 "123" の場合、この値が指す整数は整数値 123 を受け取ります。

この関数が FALSE を返す場合、この値は未定義です。

返される値が大きすぎて int 型の変数に格納できない場合、このパラメーターには値の 32 個の下位ビットが含まれます。 それ以降の上位ビットは失われます。

戻り値

種類: BOOL

文字列が変換された場合は TRUE を 返します。それ以外の場合 は FALSE

解説

pszString パラメーターが指す文字列は、正常に解析するには、次のいずれかの形式である必要があります。

  • このフォームは、どちらのフラグの下でも 10 進値として受け入れられます。 ''' 構文 (省略可能な空白)(省略可能な記号)(1 桁以上の 10 進数) '''
  • これらのフォームは、STIF_SUPPORT_HEX フラグが渡されるときに 16 進数の値に必要です。 ''' 構文 (省略可能な空白)(省略可能な記号)0x(1 桁以上の 16 進数) '''
    (optional white space)(optional sign)0X(one or more hexadecimal digits)
    
省略可能な記号には、文字 '-' または '+' を指定できます。省略すると、符号は正と見なされます。
メモ 値が 16 進数として解析される場合、省略可能な記号は '-' 文字であっても無視されます。 たとえば、文字列 "-0x1" は-1 ではなく 1 として解析されます。
 
pszString が指す文字列に無効な文字が含まれている場合、その文字は変換される文字列の末尾と見なされ、剰余は無視されます。 たとえば、無効な 16 進数文字列 "0x00am123" を指定すると、 StrToIntEx は "0x00a" のみを認識し、整数値 10 に変換し、 TRUE を返します。

注意

shlwapi.h ヘッダーは、STRToIntEx をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shlwapi.h
Library Shlwapi.lib
[DLL] Shlwapi.dll (バージョン 4.71 以降)