Системное программирование в UNIX средствами Free Pascal

       

Специальные символы


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

и X, это приводит к выводу префикса 0, 0х и 0Х соответственно. Поэтому такой фрагмент программы

var

  arg:integer = $FF;

printf('В восьмеричной форме, %#o'#$a, [arg]);

приведет к выводу строки:

В восьмеричной форме, 0377

Для вывода вещественных чисел задание знака # приведет к выводу десятичной точки, даже если задано нулевое число знаков после запятой.

В спецификации может также содержаться знак плюса (+) для принудительного вывода символа +

даже для положительных чисел. (Этот символ имеет смысл только для вывода целых чисел со знаком или вещественных чисел.) Знак +

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

var

  farg:single=57.88;

printf('Значение farg равно <%-+10.2f>'#$a, [farg]);

приведут к выводу:

Значение farg равно <+57.88>

Обратите внимание на комбинацию символов минус и плюс. Можно также заменить символ +

пробелом. В этом случае процедура printf выведет на месте знака плюс пробел. Это позволяет правильно выравнивать таблицы, содержащие положительные и отрицательные числа.



Содержание раздела