Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/55: Рейтинг темы: голосов - 55, средняя оценка - 4.89
1 / 1 / 1
Регистрация: 06.10.2015
Сообщений: 34

Практическое различие printf и cout

13.02.2016, 21:38. Показов 12308. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, дорогие обитали данного форума. Недавно у нас на 2 курсе началось программирование на C++ (так его гордо называл наш препод), но на первых парах нам выдали практику содержащую оператор printf, хотя практически везде, во множестве литературы и многочисленых хелоу-ворд проектах содержался cout. Так вот, вопрос в чем различие этих операторов?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.02.2016, 21:38
Ответы с готовыми решениями:

Небольшое различие между printf и cout
Заметил, что если я вывожу максимальное или минимальное значение типа char через printf, то это выводится числом, а если через cout, то это...

Cout в printf
Здравствуйте, может кто-нибудь помочь переделать cout в printf на 87-88 строках в данной программе? #include<iostream> ...

printf > cout
Помогите переделать printf("| %3.2f | %3.1f | %7.5f |\n",a,b,y); на cout.

9
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
13.02.2016, 21:59
d1astola, Во-первых, printf - не оператор, как и cout.
Во-вторых, как легче написать,
C++
1
printf("%d\n%s\n%d",x,y,z);
Или
C++
1
cout << x << '\n' << y << '\n' << z << endl;
?
И запомните: printf - функция, cout - поток!
1
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
14.02.2016, 00:02
d1astola, возможно, вот эта статья Вам поможет.
1
807 / 534 / 158
Регистрация: 27.01.2015
Сообщений: 3,017
Записей в блоге: 1
14.02.2016, 01:03
d1astola,
printf, как уже было ранее сказано, это функция. Используется она, как правило, в программах, написанных на чистом Си.
На данном форуме многие не жалуют эту функцию в С++ программах. Использование ее в коде С++ считается дурным тоном.

Другое дело - предопределенный потоковый объект (вероятно, ТС не знаком с понятием объекта) cout из библиотеки iostream.
Использование этого объекта считается уместным в программах на С++, но в чистом Си его использование невозможно по причине его отстутствия.

НО! Оба этих средства служат для вывода информации на экран.
Мешать в одном коде средства языка С++ и чистого Си может считаться извращением.
2
Респект C++
 Аватар для FCommander
23 / 33 / 14
Регистрация: 11.06.2015
Сообщений: 384
14.02.2016, 02:26
printf - функция, cout нет. Вот и отличие.
1
 Аватар для iRomul
163 / 104 / 14
Регистрация: 17.10.2012
Сообщений: 488
14.02.2016, 02:58
Ни printf, ни cout не являются операторами. printf - функция из стандартной библиотеки Си, cout - объект класса ostream из стандартной библиотеки Си++.
Объединяет их то, что оба связаны со стандартным потоком вывода (stdout, файл с дескриптором 1).
Вообще я бы отметил такое ключевое отличие - printf принимает переменное число параметров, выводя их тип на основании форматирующей строки. Такой подход мало того, что ограничен только набором стандартных типов (расширения в счет не беру), да еще и небезопасный. Плюсовые стримы используют механизм шаблонов + полиморфизм, благодаря чему обеспечивается безопасность на уровне компилятора, ну и возможность ввода\вывода собственных типов.
Изучить работу и основные форматы printf стоит хотя бы потому, что он используется в множестве других языках, рано или поздно на него можно наткнуться.
2
1 / 1 / 1
Регистрация: 06.10.2015
Сообщений: 34
14.02.2016, 11:49  [ТС]
Спасибо всем за помощь, простите в моем незнании
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
14.02.2016, 12:18
Цитата Сообщение от makfak Посмотреть сообщение
как легче написать,
Эт-т-то ты хороший примерчик написал. А теперь посмотрим на этот
C
1
printf("%-20.20s %04d %7.2f %*.*f %5u %8x\n" .....
Напиши его с cout, вот тогда и будем сравнивать
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
14.02.2016, 12:58
8-BITOV, Знать бы ещё, что такое -20.20s, 04d и т.д. Я просто никогда printf не пользовался.
0
543 / 486 / 104
Регистрация: 05.05.2014
Сообщений: 1,110
14.02.2016, 13:25
Цитата Сообщение от makfak Посмотреть сообщение
Знать бы ещё, что такое -20.20s, 04d
%-20.20s - печать char * в поле 20 позиций с прижимом к левому краю (если больше 20 - обрезается)
%04d - число с лидирующими нулями. 12 напечатает как 0012. Но 12345 так и напечатает без обрезки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.02.2016, 13:25
Помогаю со студенческими работами здесь

printf и cout
У меня возник вопрос, что луче еспользовать в C++, printf/scanf или cout/cin ? Что работает быстрее? Есть такой фрагмент кода ...

Cout и printf
Привет форумчане, не могу разобраться как правильно записать выражение использую не printf, a cout. Вот исходное выражение: ...

cout vs printf
Что лучше и удобней использывать в написаннии программ? cout или printf?

Printf() - Cout
Простой вопрос. Как заменить printf (&quot;%09d&quot;, a); на cout?

Cout в printf
Возможно глупый вопрос, но как переделать cout &lt;&lt; arr - (sum / m) &lt;&lt; &quot; &quot;; в printf? Как только не пытался, программа перестает работать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru