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


Функция 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)
    
Необязательный знак может быть символом "-" или "+"; Если опущено, знак считается положительным.
Примечание Если значение анализируется как шестнадцатеричное, необязательный знак игнорируется, даже если это символ -. Например, строка "-0x1" анализируется как 1 вместо -1.
 
Если строка, на которую указывает pszString содержит недопустимый символ, то этот символ считается концом строки, которую необходимо преобразовать, и оставшаяся часть игнорируется. Например, учитывая недопустимую шестнадцатеричную строку "0x00am123", StrToIntEx распознает только "0x00a", преобразует его в целочисленное значение 10 и возвращает TRUE.

Заметка

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

Требования

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