共用方式為


StrToIntExA 函式 (shlwapi.h)

將代表十進位或十六進位數位的字串轉換成整數。

語法

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

參數

[in] pszString

類型:PCTSTR

要轉換之 Null 終止字串的指標。 如需字串有效格式的進一步詳細數據,請參閱一節。

dwFlags

類型:STIF_FLAGS

下列其中一個值,指定應該如何剖析 pszString ,使其轉換成整數。

STIF_DEFAULT

pszString 的字串包含十進位值的表示。

STIF_SUPPORT_HEX

pszString 的字串包含十進位或十六進位值的表示。 請注意,在十六進位表示法中,A-F 字元不區分大小寫。

[out] piRet

類型:int*

接收已轉換字串之 int 的指標。 例如,在字串 「123」 的情況下,這個值所指向的整數會接收整數值 123。

如果此函式傳回 FALSE,則此值未定義。

如果傳回的值太大而無法包含在類型為 int的變數中,此參數會包含值的 32 個低階位。 除此之外的任何高階位都遺失。

傳回值

類型:BOOL

如果轉換字串,則傳回 true;否則 FALSE

言論

pszString 參數所指向的字串必須具有下列其中一種要成功剖析的表單。

  • 此窗體接受為任一旗標下的十進位值。 ''' 語法(選擇性空格符)(選擇性符號)(一個或多個十進制數) '''
  • 傳遞STIF_SUPPORT_HEX旗標時,十六進位值需要這些窗體。 ''' 語法(選擇性空格符)(選擇性符號)0x(一或多個十六進位數位) '''
    (optional white space)(optional sign)0X(one or more hexadecimal digits)
    
選擇性符號可以是字元 '-' 或 '+';如果省略,則會假設符號為正數。
Note 如果值剖析為十六進位,則會忽略選擇性符號,即使它是 '-' 字元也一樣。 例如,字串 “-0x1” 會剖析為 1,而不是 -1。
 
如果 pszString 所指向的字串 包含無效的字元,該字元會被視為要轉換的字串結尾,並忽略其餘字元。 例如,假設有無效的十六進位字串 「0x00am123」,StrToIntEx 只辨識 」0x00a“,將它轉換成整數值 10,並傳回 TRUE

注意

shlwapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 StrToIntEx 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 shlwapi.h
連結庫 Shlwapi.lib
DLL Shlwapi.dll (4.71 版或更新版本)