|
Вопрос # 5 136/ вопрос решён / |
|
Здравствуйте, уважаемые эксперты!
В 'C' через printf можно организовать красивый вывод : выровненные колонки, нужная разрядность. А вот в 'C++' cout форматирует вывод, как захочет -- или можно как-то настроить ?
Давно не задавал вопросов ....
 |
Вопрос задал: Толяныч (статус: 4-ый класс)
Вопрос отправлен: 29 марта 2011, 17:38
Состояние вопроса: решён, ответов: 2.
|
Ответ #1. Отвечает эксперт: Егор
Здравствуйте, Толяныч!
конечно есть.
пример:
cout << "dec(" << x
<< ") = oct(" << oct(x,6)
<< ") = hex(" << hex(x,4)
<< ")";
остальное можно глянуть здесь: ссылка
или здесь
 |
Ответ отправил: Егор (статус: 10-ый класс)
Время отправки: 29 марта 2011, 17:55
Оценка за ответ: 5
Комментарий к оценке: Thanks. Как-то непривычно только...
|
Ответ #2. Отвечает эксперт: Вадим К
Здравствуйте, Толяныч!
Конечно можно. И можно сделать красиво:) Для начала смотрим здесь http://cplusplus.com/reference/iostream/manipulators/ список всяких функций. Точнее "модификаторов".
Вот к примеру setw - позволяет указать, сколько знакомест отвести под число. А setfill позволяет указать заполнители.
hex, dec - переключают вывод в шестнадцатеричный и назад в десятеричный режим. Там хорошие примеры, так что даже без знания английского можно скопировать и попробовать.
 |
Ответ отправил: Вадим К (статус: Академик)
Время отправки: 29 марта 2011, 17:57
Оценка за ответ: 5
Комментарий к оценке: Я так и думал, что должно быть, но сомневался.
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 29 марта 2011, 19:08; участников в обсуждении: 4.
|
Егор (статус: 10-ый класс), 29 марта 2011, 17:54 [#1]:
конечно есть.
пример:
cout << "dec(" << x
<< ") = oct(" << oct(x,6)
<< ") = hex(" << hex(x,4)
<< ")";
остальное можно глянуть здесь: ссылка
или здесь
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
Вадим К (статус: Академик), 29 марта 2011, 18:01 [#2]:
Егор: А в какой версии С++ компилятора это будет работать?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 29 марта 2011, 18:46 [#3]:
Цитата (Вадим К):
РЇ так Рё думал, что должно быть, РЅРѕ сомневался. Такого мата наш форум ещё не знал!
Могу дать свой вариант (не мата, а форматированного вывода), если надо.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Толяныч (статус: 4-ый класс), 29 марта 2011, 19:08 [#4]:
) Это потому что отвечал не в форуме, а в своем ящике на TUT.BY, на который пришло сообщение, а он, собака женского полу, с кодировками иногда мудрит после того, как его перевели на Гуглевский движок ( или даже хостинг - ХЗ) .
min@y, давай и твой вариант - больше вариантов - легче жизнь.
|
30 марта 2011, 09:28: Статус вопроса изменён на решённый (изменил автор вопроса — Толяныч): Все понятно.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|