Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 136

Раздел: C++
/ вопрос решён /

Здравствуйте, уважаемые эксперты!
В '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™

min@y™ (статус: Доктор наук), 29 марта 2011, 18:46 [#3]:

Цитата (Вадим К):

Я так и думал, что должно быть, но сомневался.
Такого мата наш форум ещё не знал!
Могу дать свой вариант (не мата, а форматированного вывода), если надо.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Толяныч

Толяныч (статус: 4-ый класс), 29 марта 2011, 19:08 [#4]:

:-)) Это потому что отвечал не в форуме, а в своем ящике на TUT.BY, на который пришло сообщение, а он, собака женского полу, с кодировками иногда мудрит после того, как его перевели на Гуглевский движок ( или даже хостинг - ХЗ) .
min@y, давай и твой вариант - больше вариантов - легче жизнь.

30 марта 2011, 09:28: Статус вопроса изменён на решённый (изменил автор вопроса — Толяныч): Все понятно.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:25
Выполнено за 0.04 сек.