# преобразование scanf

спецификации преобразования mscanf, msscanf, mfscanf

## Описание

Каждая спецификация преобразования в параметре `format` содержит следующие элементы:

- символ `%` (знак "процент");

- необязательный символ подавления присвоения `*` ("звёздочка");

- необязательное числовое значение максимальной ширины поля;

- код преобразования.

Спецификация преобразования имеет следующий синтаксис:

`[*][ширина][размер]код_преобразования`.

Результаты преобразования помещаются в аргументы `v_i` если вы не укажете подавление присвоения с помощью символа `*` ("звёздочка"). Подавления присвоения предоставляет способ описать входное поле, которое следует пропустить. Входное поле является строкой символов-непробелов. Оно простирается до ближайшего некорректного символа или до тех пор, пока ширина поля, если она указана, не кончится.

Код преобразования указывает как интерпретировать входное поле. Вам не нужно указывать параметр `v_i` для подавленного поля. Вы можете использовать следующие коды преобразования:

%

  принимает отдельный символ `%` (знак "процент"), вводимый в этом месте; присвоение не делается.

d, i

  принимает десятичное целое число.

u

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

o

  принимает восьмеричное целое число.

x

  принимает шестнадцатеричное целое число.

e, f, g

  принимает число с плавающей запятой. Следующее поле преобразуется соответствующим образом и сохраняется через соответствующий параметр, который должен быть указателем на число с плавающей запятой. Формат ввода для чисел с плавающей запятой является строкой цифр со следующими необязательными характеристиками:

  - это может быть значение со знаком;

  - это может быть экспоненциальное значение, содержащее десятичную запятую, за которой следует экспоненциальное поле, которое состоит из `E` или `e`, за которым следует целое число (может быть со знаком);

  - это может быть одно из специальных значений `%inf`, `%nan`.

s

  принимает строку символов;

c

  ожидается символьное значение. Нормальный пропуск пробела подавляется.

%lg

  получает значение в виде числа удвоенной точности (double).

## Смотрите также

- msscanf
- mfscanf
- mscanf
- преобразование printf