Поделиться через


Функция StrToInt64ExA (shlwapi.h)

Преобразует строку, представляющую десятичное или шестнадцатеричное значение в 64-разрядное целое число.

Синтаксис

BOOL StrToInt64ExA(
  [in]  PCSTR      pszString,
        STIF_FLAGS dwFlags,
  [out] LONGLONG   *pllRet
);

Параметры

[in] pszString

Тип: PCTSTR

Указатель на строку null-terminated string, которая будет преобразована. Дополнительные сведения о допустимых формах строки см. в разделе "Примечания".

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 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный, Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка shlwapi.h
библиотеки Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя версия)