Строка числового значения к функциям

Заметки

Каждая функция strtod семейство преобразует null-завершенная строка числовым значением.Доступные функции, перечислены в следующей таблице.

Функция

Описание

strtod

Строка для преобразования в значение с плавающей запятой двойной точности

strtol

Строка для преобразования в длиннему целое число

strtoul

Преобразование строки в длиннему целое число без знака

_strtoi64

Строка для преобразования с пакетом обновления 64 (sp2) __int64 целое число

_strtoui64

Строка без преобразования с пакетом обновления 64 (sp2) __int64 целое число

wcstod" wcstol" wcstoulи _wcstoi64 версия расширенных символов strtod" strtol" strtoulи _strtoi64соответственно.Аргумент строки для каждой из этих функций расширенных символов строка символов; каждая функция ведет себя идентично его двойникам единый-байт-знака в противном случае.

strtod функция принимает 2 аргументов. первая входная строка, а второй - указатель к символу, чтобы завершить процесс преобразования.strtol" strtoul" _strtoi64 и _strtoui64 создайте третий аргумент в качестве основы номера для использования в процессе преобразования.

Входная строка последовательность символов, которая может быть интерпретировано как значение указанного числового типа.Каждая функция останавливает считать строку с первого символа не удается распознать как часть номера.Это может быть конечный нуль-символом.Для strtol" strtoul" _strtoi64и _strtoui64этот конечный знак может также быть первым числовым символом больше или равно пользователь-поставленному основанию числа.

Если заданный пользователем указателя в символьный элемент -- преобразования не установлен Значение NULL во время вызова указатель к символу, который был остановлен просмотра будет храниться существует.Если преобразование может быть выполнено (нет допустимого числа не найдены или недопустимое основание было указано), то сохраняется значение указателя строки по этому адресу.

strtod надеет строку, имеет следующую форму:

[whitespace[]символ[]digits[]**.**digits] [{d | D | e | Б[}символ]digits]

A whitespace может включать в себя пробелы или знаки табуляции, игнорируются; символ плюс (или**+) или " минус " (-); и digits один или несколько десятичные разряды.Если число не появляются перед знаком adapter, то хотя бы одно должно появиться после символа.Десятичные разряды может следовать степенью, которая состоит из буквы (вводногоd**" D" били Б) и, при необходимости, знаковое целое число.Если ни уровень, ни корневой частью символ, то предполагается, что за последний знак в строке является числом.Первый символ, который не по размеру эта форма останавливает сканирование.

strtol" strtoul" _strtoi64и _strtoui64 функции ожидающие строку, имеет следующую форму:

[whitespace] [{+ | -[}]0 [{ x | X [}]]digits]

Если базовый аргумент между 2 и 36, то он используется как основание числа.Если он равен 0, то начальные символы, на которые ссылается на указатель элемент -- преобразования используются для определения базы.Если первый символ 0, а второй символ не является "x" или "x", строка интерпретируется как восьмеричное целое число. в противном случае она интерпретируется как десятичное число.Если первый символ "0", а второй буквой "x" или "x", строка интерпретируется как шестнадцатеричное целое число.Если первый символ "1" до "9", строка интерпретируется как десятичное целое число.Присвоено письмам" до "z" (или от "a" до "Z") значения от 10 до 35; только буквы которых присвоили значения меньше base позвольте.strtoul и _strtoui64 включить знаки плюса (+) или " минус " (-префикс знака); сдвиг минус указывает, что возвращаемое значение отрицано.

Параметр влияет на выходное значение LC_NUMERIC параметр категории языкового стандарта; см. setlocale для получения дополнительных сведений.Версии этих функций без _l использование суффикса текущий языковой стандарт для данного расширения функциональности, зависимых от языковых стандартов. версии с _l суффикс идентичны за исключением того, что используется переданный параметр языкового стандарта.

Если значение, возвращаемое этими функциями вызвало бы переполнения или потери точности или если преобразование невозможно, значения специального случаях возвращаются как показано ниже.

Функция

Атрибут Condition

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

strtod

Переполнение

+/- HUGE_VAL

strtod

Потеря значимости или отсутствие преобразования

0

strtol

+ Переполнение

LONG_MAX

strtol

- Переполнение

LONG_MIN

strtol

Потеря значимости или отсутствие преобразования

0

_strtoi64

+ Переполнение

_I64_MAX

_strtoi64

- Переполнение

_I64_MIN

_strtoi64

Преобразование

0

_strtoui64

Переполнение

_UI64_MAX

_strtoui64

Преобразование

0

_I64_MAX, _I64_MINи _UI64_MAX укажите в LIMITS.H.

wcstod" wcstol" wcstoul" _wcstoi64и _wcstoui64 версия расширенных символов strtod" strtol" strtoul" _strtoi64и _strtoui64соответственно; указатель к аргументу элемент -- преобразования в каждой из этих функций расширенных символов строка символов.В противном случае каждая из этих функций расширенных символов работает аналогично его двойникам единый-байт-знака.

См. также

Ссылки

Преобразование данных

Языковой стандарт

Интерпретация последовательностей многобайтового символов

Поддержка чисел с плавающей запятой

atof, _atof_l, _wtof, _wtof_l