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



         

Printf - часть 6


Модификатор входного размера.

Символ - модификатор входного размера (F, N, h, l или L) дает размер последующего входного аргумен- та:

F = дальний указатель; N = ближний указатель; h = короткое целое; l = длинное целое; L = длинное двойной точности;

Модификаторы входного размера (F, N, h, l и L) влияют на то, каким образом функции ...printf ин- терпретируют тип данных соответствующего входного аргумента arg. Модификаторы F и N применяются только к тем входным аргументам arg, которые представляют собой указатели (%p, %s и %n). Моди- фикаторы h, l и L применяются к числовым аргумен- там (целые и с плавающей точкой).

Оба модификатора F и N интерпретируют входной ар- гумент arg. Обычно, для преобразований %p, %s, или %n аргумент arg - это указатель стандартного размера для соответствующей модели памяти. F оз- начает: "интерпретировать arg, как дальний указа- тель". N означает: "интепретировать arg, как ближний указатель".

Модификаторы h, l и L отвергают стандартный раз- мер числовых данных входных аргументов: l и L применяется к целым типам данных (d, i, o, u, x, X) и типам данных с плавающей точкой (e, E, f, g и G), в то время как h применяется только к целым данным. Ни h, ни l- модификаторы не оказывают ни- какого влияния на типы символов(c,s) или указате- лей(p,n).

------------------T-------------------------------------------------- Модификаторы ¦ Как интерпретируется аргумент входного размера ¦ ------------------+-------------------------------------------------- F ¦ аргумент arg читается, как дальний указатель. N ¦ аргумент arg читается, как ближний указатель. ¦ в сверх-больших моделях памяти N не может ис- ¦ пользоваться ни с каким типом преобразований. h ¦ для типов преобразований d, i, o, u, x, X аргумент ¦ arg интерпретируется, как короткое целое; l ¦ для типов преобразований d, i, o, u, x, X аргумент ¦ интерпретируется, как длинное целое; ¦ для типов преобразований e, E, f, g, G аргумент ин- ¦ терпретируется как число двойной точности. L ¦ интерпретирует arg как длинное с двойной точ- ¦ ность для типов преобразований e, E, f, g, G. ------------------+--------------------------------------------------

Возвращаемое Каждая функция возвращает количество выводимых значение байт. В случае ошибки printf возвращает EOF.

Переносимость printf поддерживается на системах UNIX и определена в стандарте Кернигана и Ритчи. Поддерживается стандартом ANSI C.

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

Пример:

#define I 555 #define R 5.5

int main(void) { int i, j, k, l; char buf[7]; char *prefix = &buf; char tp[20]; printf("prefix 6d 6o 8x 10.2e 10.2f\n"); strcpy(prefix, "%"); for (i=0; i




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