Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.4. Отведение памяти и преобразование строк

А.5.4.4. rdsAtoI – преобразование строки в целое число

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.4. Отведение памяти и преобразование строк

##### А.5.4.4. rdsAtoI – преобразование строки в целое число

Функция rdsAtoI переводит строку с символьным представлением целого числа в число типа int. В строке может содержаться указание на используемую систему счисления.

      int RDSCALL rdsAtoIA(
        RDSCSTR Str,  // Строка с представлением числа (UTF8)
        int *pRadix   // Возвращаемая система счисления
      );
      int RDSCALL rdsAtoIW(
        RDSWCSTR Str, // Строка с представлением числа (UTF16)
        int *pRadix   // Возвращаемая система счисления
      );
      // Функция-псевдоним
      int RDSCALL rdsAtoI(
        RDSXCSTR Str, // Строка с представлением числа (кодировка по умолчанию)
        int *pRadix   // Возвращаемая система счисления
      );

Тип указателя на эту функцию

RDS_ISpI (для UTF8) или RDS_IWspI (для UTF16)

Параметры

Str(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Строка с символьным представлением целого числа. В зависимости от префикса, то есть символов, стоящих в строке между необязательным знаком и цифрами числа, для преобразования строки в число будут использоваться следующие системы счисления:

  Префикс | Система счисления
  --- | ---
  0B | Двоичная (строка «0b11» будет преобразована в число 3).
  0 или 0О (ноль и латинская буква «O») | Восьмеричная (строка «011» или «0o11» будет преобразована в число 9).
  0X или 0H | Шестнадцатеричная (строка «0x1f» будет преобразована в число 31).
  0D или без префикса | Десятичная (строка «123» или «0d123» будет преобразована в число 123).

  Знак «+» (необязательный) или «−» должен находиться перед префиксом, если он есть. Таким образом, если за необязательным знаком числа в строке находится цифра 1 – 9, то будет использована десятичная система; если цифра 0 и буква, то будет использована система счисления, определяемая этой буквой; если же там будет находиться цифра 0, за которой следуют другие цифры, то будет использована восьмеричная система.
pRadix(int*)
  Указатель на целую переменную, в которую нужно записать основание системы счисления, использованной в переданной строке для записи целого числа. Если вызывающей программе не нужна информация о системе счисления, в этом параметре можно передать NULL.

Возвращаемое значение

Полученное из строки целое число или 0, если строка не может быть преобразована в число.

Примечания

Функция rdsAtoI похожа на стандартную функцию языка C strtol, но поддерживает больше префиксов и двоичную систему счисления.

См. также

rdsAtoD, rdsItoA.