strToInt64ExW 函式 (shlwapi.h)

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

語法

BOOL StrToInt64ExW(
  [in]  PCWSTR     pszString,
        STIF_FLAGS dwFlags,
  [out] LONGLONG   *pllRet
);

參數

[in] pszString

類型: PCTSTR

要轉換之 Null 終止字串的指標。 如需有關有效字串形式的詳細資訊,請參閱一節。

dwFlags

類型: STIF_FLAGS

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

STIF_DEFAULT

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

STIF_SUPPORT_HEX

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

[out] pllRet

類型: LONGLONG*

LONGLONG 類型的變數指標,可接收已轉換字串的 64 位整數值。 例如,在字串 「123」 的情況下,這個值所指向的整數會收到值 123。

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

如果傳回的值太大而無法包含在 LONGLONG 類型的變數中,此參數會包含值的 64 個低序位。 超過任何高階位的遺失。

傳回值

類型: BOOL

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

備註

pszString 參數指向的字串必須有下列其中一種格式才能成功剖析。

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

如果 pllRetNULL,則即使字串無法執行轉換,函式仍會傳回 TRUE

注意

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

規格需求

需求
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限桌面應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 shlwapi.h
程式庫 Shlwapi.lib
Dll Shlwapi.dll (5.0 版或更新版本)