Что означают символы в скобках: printf ("\t%2d%7.2f\n",t);??? (-)
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Что означают символы в скобках: printf... Expand / Collapse
Автор
Сообщение
01.06.2001 20:17
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 30.05.2001 20:48
Сообщ.: 3, Visits: 34
---
Сообщ. #711596
02.06.2001 21:51
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298, Visits: 12 501
printf("\t%2d%7.2f",t)

Пойдем по порядку...

\t - табуляция;
- перевод строки;

см. ссылку: http://msdn.microsoft.com/library/devprods/vs6/visualc/vclang/_pluslang_c.2b2b_.character_constants.htm

%2d - означает, что вместо этой комбинации будет подставлено десятичное целое из списка следуемых параметров. (d - single decimal integer, 2 - говорит о том что если целое занимает меньше 2 символов оно будет дополнено пробелами до предустановленного размера)

%7.2f - как ты уже наверно догадываешься, вывод числа с плавающей точкой запятой из списка следуемых параметров (f - float/double);
7 - до скольки дополнять пробелами, .2 - сколько символов после запятой

см. ссылки:
http://msdn.microsoft.com/library/wcedoc/wcecrt/crt2_89.htm
http://msdn.microsoft.com/library/wcedoc/wcecrt/crt2_90.htm
http://msdn.microsoft.com/library/wcedoc/wcecrt/crt2_92.htm

Таким образом, пример:
printf("\t%2d%7.2f", 5, 3.234);
printf("\t%2d%7.2f", 15, 783.4);

должен, по-моему, вывести на экран:
-> 5 3.23
->15 783.40

где -> - символ табуляции.

С уважением, Владимир

P.S. Извини, я не тестировал этот пример - времени нет, и вообще не очень часто использую функцию форматирования, точнее ее изощренные параметры, так что проверь самостоятельно.
Сообщ. #711630
04.06.2001 23:11
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298, Visits: 12 501
Извиняюсь.

Повтор примера (так как я не знал, что текст несколько видоизменяется при отправке на сервер, что само собой разумеется...):
printf("\t%2d%7.2f", 5, 3.234);
printf("\t%2d%7.2f", 15, 783.4);

должен, по-моему, вывести на экран:
->_5___3.23
->15_783.40

где
-> - символ табуляции.
_ - символ пробела.

Но опять таки повторюсь - я не тестировал, поэтому точно не уверен...

С уважением, Владимир
Сообщ. #711784
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 2:27