Описание функций Си

         

Scanf - часть 4


Входные поля.

Входным полем может быть одно из следующих выра- жений:

- все символы до (но не включая) следующего по порядку незначающего символа;

- все символы до первого встретившегося, который не может быть преобразован текущей спецификаци- ей формата (такие, например, как цифры 8 и 9 при восьмеричном формате).

- до n символов, где n - это заданная ширина по- ля.

Соглашения.

Далее перечислены некоторые соглашения, принятые для определенных спецификаций формата.

преобразование %c

Данная спецификация позволяет считывать 1, следу- ющий по порядку символ, включая и незначащие. Чтобы пропустить один незначащий и прочесть сле- дующий значащий символ, используйте %1s.

Преобразование %Wc (W - спецификация ширины).

Адресный аргумент является указателем на массив символов; массив состоит из W элементов (char arg[W]).

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

Адресный аргумент является указателем на массив символов (char arg[]).

Размер массива должен быть по крайней мере (n+1) байтов, где n = длина строки s (в символах). Входное поле оканчивается пробелом или символом перехода на новую строку. К символьной строке ав- томатически добавляется нулевое окончание и запи- сывается, как последний элемент массива.

Преобразование %[search set]

Набор символов, заключенный в квадратные скобки, может быть заменен на символ типа s. Адресный ар- гумент является указателем на массив символов (char arg[]). В квадратные скобки заключен набор символов, который определяет "искомый набор" воз- можных символов, формирующих строку (входное по- ле).

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

Входное поле представляет собой строку символов, не ограниченную незначащими символами. Функции семейства ...scanf будут считывать входное поле до тех пор, пока не появится первый символ, от- сутствующий в искомом наборе (или в инвертирован- ном искомом наборе). Далее приведены два примера данного типа преобразования:




Содержание  Назад  Вперед