Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/62: Рейтинг темы: голосов - 62, средняя оценка - 4.85
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15

prinf(.._s?) vs cout

21.08.2011, 20:13. Показов 12460. Ответов 96
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
о насущном для меня как новичка. если я правильно понял cout это работа с потоком?(про них не читал еще), а prinf? шо це? c чем работает? В нете пишут что на больших объемах ввода вывода printf/scanf быстрее пары cin/cout. Растолкуйте что к чему. Тут много опытных программистов. Что лучше использовать и для чего. Напишите пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.08.2011, 20:13
Ответы с готовыми решениями:

Не использовать функцию prinf
Задача состоит в том, что у меня есть робочая программа, но! Есть одно МАЛЕЕНЬКОЕ но: нужно чтоб в программе не использовалась функцыя...

Вывести отформатированную строку prinf'ом в переменную
Здравствуйте!! Возникла необходимость вывести отформатированную строку prinf'ом в переменную. Нужно для представления массива в ascii,...

Переделать потоки ввода-вывода на prinf и scanf
#include <iostream.h> #include <conio.h> #include <stdlib.h> int x,y,i,j,n1,m1,n2,m2,z; void cret(void) { cout<<"\nVvedit...

96
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
25.08.2011, 11:16
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от accept Посмотреть сообщение
аргументы в вызове не проверяются во время работы программы ?
ну в с++ при компиляции и линковке проверяются
C
1
2
3
4
5
6
7
8
9
10
// main.c
 
int f (int* a);
 
int main()
{
  int a = 10;
  f(&a);
  return 0;
}
C
1
2
3
4
5
6
// f.c
 
int f (int* a, int* b)
{
  return (*b = *a);
}
Bash
1
2
3
btuser@btuser-desktop:~/c$ gcc -O0 main.c f.c
btuser@btuser-desktop:~/c$ ./a.out 
Segmentation fault

Цитата Сообщение от iama Посмотреть сообщение
Баги можно найти везде.
зачем только их встраивать в язык
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 11:41  [ТС]
Цитата Сообщение от iama Посмотреть сообщение
или просто сам символ, не выполняя над ним никаких преобразований
опять какой то очень важный момент.
символы попадают в поток в том виде в котором они есть? происходит подстановка численного значения символа из таблицы символов? разложения на биты не происходит?

например поток берет 1 в чаре. что при этом происходит? 00000001?
или поток берет 32 битный инт. тут идет 00000000 00000000 00000000 00000001?
что то я совсем запутался

Добавлено через 24 минуты
и по решению вопрос Откуда читает scanf ?
тут я вроде бы понял. берет инфо из одного файла. вывод - в другой файл.
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
25.08.2011, 11:48
Цитата Сообщение от AzaKendler Посмотреть сообщение
символы попадают в поток в том виде в котором они есть? происходит подстановка численного значения символа из таблицы символов? разложения на биты не происходит?
Точно сказать не могу, даже не знаю, где почитать об этом можно, может, подскажет кто...
Цитата Сообщение от AzaKendler Посмотреть сообщение
тут я вроде бы понял. берет инфо из одного файла. вывод - в другой файл.
Если мое же решение перенаправить на чтение\запись файловый потоков, так:
C
1
2
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
То скорость выполнения не изменится, насчет этого не заморачивайтесь, в жизни разница будет только что в первом случае мы тратимся на графическую обработку вывода, во втором - на запись на хард.
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 12:11  [ТС]
iama, я просто правда не понял откуда читает scanf, в цикле все время надо вводить значения из консоли? сорри за глупые вопросы.
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
25.08.2011, 12:15
AzaKendler, формат входного файла в том примере - здесь, если чего непонятно - пиши
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 12:24  [ТС]
iama, если инфа лежит в файлике то понятно.

. не понимаю как в решении инфа
5
1 1 1 1 0
1 0 1 0 1
1 1 1 0 1
1 0 0 0 1
0 1 1 1 1
попадет в обработку?
n например это 5. с консоли? и далее по циклам с консоли?
как считается скорость тогда, если мы все время вводим что то. этот момент что то никак не вкурю
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
25.08.2011, 12:26
AzaKendler, либо все из (и в) консоли, либо все из файлов.
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 12:55  [ТС]
iama, ок. т.е. тестирующий сервер сам лупит значения в консоль с огромной скоростью и это позволяет провести тест. Я что то зациклился на том что в консоль обычно человек вводит. Луп так сказать случился

Добавлено через 25 минут
из всего того что написано. напросился такой вывод. printf быстрее cout удобнее, проще, безопаснее.
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
25.08.2011, 14:47
AzaKendler, насчет удобней и проще - я бы не спешил
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 15:18  [ТС]
iama, я имел ввиду проще в использовании, интуитивно понятнее(сужу по себе как начинающему), чтобы пользоваться printf - надо внимательно изучить управляющие последовательности и грамотно их использовать чтобы не получать ошибки. а cout - не читая особо можно посмотреть на мемберы в любой среде и уже что то понять.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.08.2011, 17:43
Цитата Сообщение от AzaKendler Посмотреть сообщение
printf быстрее cout удобнее, проще, безопаснее.
Цитата Сообщение от AzaKendler Посмотреть сообщение
printf - надо внимательно изучить управляющие последовательности и грамотно их использовать чтобы не получать ошибки. а cout - не читая особо можно посмотреть на мемберы в любой среде и уже что то понять.
с такой аргументацией могу сказать только одно - наберитесь опыта и ваши аргументы рассыпятся.
Не нужно особой хитрости, чтобы использовать принтф. Все тоже достаточно просто. А по поводу простоты, то взгляните на эту тему Флаги форматирования и манипуляторы
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 20:20  [ТС]
Цитата Сообщение от M128K145 Посмотреть сообщение
наберитесь опыта
этим я и стараюсь заниматься. форум тоже неплохо помогает
хотя в флагах на мой взгляд нет ничего страшного. просто так уж исторически сложилось что я начал с cout. И только потом познакомился с printf. Ну и решил уже спросить здесь у тех кто реально давно пользует и то и другое. Мнения как всегда разошлись.

Добавлено через 1 минуту
M128K145, твой выбор, если что то делаешь на С++, я так понимаю printf?
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
25.08.2011, 21:18
Цитата Сообщение от AzaKendler Посмотреть сообщение
M128K145, твой выбор, если что то делаешь на С++, я так понимаю printf?
почему же? пишу на С - использую printf, на С++ - cout. Я джавист, а не сишник, поэтому в тех программах, которые я пишу на С/С++ перфоманс консольного вывода не важен, а вообще давно на сях не писал
0
 Аватар для AzaKendler
214 / 116 / 14
Регистрация: 30.05.2011
Сообщений: 1,772
Записей в блоге: 15
25.08.2011, 21:25  [ТС]
M128K145,

Не по теме:

так и думал что к твоему ответу сложно будет прикопаться :D.

ну а я учу С++ поэтому мой выбор cout, ну и для общего развития освою семейство printf(s) и иже с ними.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
26.08.2011, 01:47
Цитата Сообщение от alex_x_x Посмотреть сообщение
ну в с++ при компиляции и линковке проверяются
а, ну да
как здесь
это недочёт, скорее всего

Добавлено через 4 минуты
C
1
sprintf(s, "%d%d%d", 1, 2, 3);
на C++ как выглядит ?
0
Higher
 Аватар для diagon
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
26.08.2011, 08:18
Цитата Сообщение от accept Посмотреть сообщение
на C++ как выглядит ?
C++
1
2
3
std::ostringstream ost;
ost << 1 << 2 << 3;
s = ost.str();
0
Эксперт С++
 Аватар для grizlik78
2383 / 1667 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
26.08.2011, 11:45
Я, пожалуй, вспомню ещё одно важное свойство потоков С++. Это их гибкость. Функции вроде scanf/printf крайне неудобно использовать в шаблонных функциях и классах.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.08.2011, 11:45

Cout <<endl; Что это значит? Если ничего нету в cout?
Здравствуйте ! Обьясните пожалуйста что значит cout &lt;&lt;endl; если он используется после цикла for?

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout
Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout. Это фрагмент со структурами: ...

В чем разница std::cout и просто cout?
Ребят ,подскажите на простом языке для чайников . В чем разница std::cout и просто cout?

Разница между fwrite, cout и cout.write
Привет. Пытаюсь вывести букву 'ф' в консоль Windows 7, используя кодировку UTF-8. Для этого меняю кодовую страницу консоли на CP_UTF8,...

Cout like: перегрузить оператор<< по примеру объекта cout для extern объекта пользовательского типа
Мне нужен extern объект по примеру cout с перегруженным оператором. Я нечто подобное сделал, только у меня выдаёт ошибку &quot;undefined...


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

Или воспользуйтесь поиском по форуму:
97
Ответ Создать тему
Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Video: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru