Приложения
Приложение А. Функции, константы и структуры 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)
- Строка с символьным представлением целого числа. В зависимости от префикса, то есть символов,
стоящих в строке между необязательным знаком и цифрами числа, для преобразования строки в число будут
использоваться следующие системы счисления:
Знак «+» (необязательный) или «−» должен находиться перед префиксом, если он есть. Таким образом, если за необязательным знаком числа в строке находится цифра 1 – 9, то будет использована десятичная система; если цифра 0 и буква, то будет использована система счисления, определяемая этой буквой; если же там будет находиться цифра 0, за которой следуют другие цифры, то будет использована восьмеричная система.Префикс Система счисления 0B Двоичная (строка «0b11» будет преобразована в число 3). 0 или 0О (ноль и латинская буква «O») Восьмеричная (строка «011» или «0o11» будет преобразована в число 9). 0X или 0H Шестнадцатеричная (строка «0x1f» будет преобразована в число 31). 0D или без префикса Десятичная (строка «123» или «0d123» будет преобразована в число 123). - pRadix (int*)
- Указатель на целую переменную, в которую нужно записать основание системы счисления, использованной в переданной строке для записи целого числа. Если вызывающей программе не нужна информация о системе счисления, в этом параметре можно передать NULL.
Возвращаемое значение
Полученное из строки целое число или 0, если строка не может быть преобразована в число.
Примечания
Функция rdsAtoI похожа на стандартную функцию языка C strtol, но поддерживает больше префиксов и двоичную систему счисления.
См. также