Функция 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.

Если pllRet имеет значение NULL, функция возвращает значение TRUE , если строка может быть преобразована, даже если преобразование не выполняется.

Примечание

Заголовок shlwapi.h определяет StrToInt64Ex как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header shlwapi.h
Библиотека Shlwapi.lib
DLL Shlwapi.dll (версия 5.0 или более поздняя)