Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.64
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
#1

cin vs scanf - C++

20.03.2009, 10:48. Просмотров 4834. Ответов 30
Метки нет (Все метки)

Народ, объясните мне, почему многие предпочитают функцию scanf? ИМХО, cin для ввода данных гораздо проще... Может кто знает, что да как, да меня просветит темного.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.03.2009, 10:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос cin vs scanf (C++):

scanf - C++
Пусть нужно читать из текста слова, пропуская все символы, кроме a-z и A-Z. То есть из текста Hello, world! ololo O_o получить только ...

cin из файла - как? - C++
именно CIN! Никаких там fstream'ов и fopen... То есть как сделать так, чтобы программа работала: cin >> i >> j; cout << i << "...

Cin.get() игнорируется компилятором - C++
Доброго времени суток, форумачане. в 43 строке компилятором пропускается данная функция: "cin.get(str, s);". не запрашивает ввод, а...

Исполняется ли приложение в консоли? (std::cin) - C++
Здравствуйте, уважаемые! Мне не удалось достаточно внятно задать вопрос гуглу, поэтому теперь спрашиваю у вас. В моем приложении...

Несоответствие работы cin.putback в разных компиляторах - C++
Здравствуйте! Озадачило меня следующее несоответствие (текст приведен в качестве примера): #include <iostream> #include <cstring>...

scanf в c++ builder - C++ Builder
Ребят,скажите,как посимвольно считать строку из ЛистБокса. Я делаю так,но не работает,выдает ошибку. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.03.2009, 11:21 #2
Отлично реализован форматированный ввод. Да и С это мне С больше нравится, чем С++.
XuTPbIu_MuHTAu
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
20.03.2009, 11:22 #3
Время от времени использую sscanf, sprintf. Удобные штуки.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
20.03.2009, 11:25  [ТС] #4
всегда мне говорили не мешай в кучу с и с++...
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.03.2009, 11:57 #5
Правильно говорили
Потому что в С++ я использую cin
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
20.03.2009, 12:01  [ТС] #6
Vourhey, ну я еще не волшебник, только учусь))) просто со сканфом вечно траблы... юзаю только, когда не лень помогать студентам на форуме, вот и всех тонкостей не знаю...


а еще, Vourhey, ты знаешь, почему нельзя их мешать эти два языка?
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
20.03.2009, 13:06 #7
Да почему, можно. Но некрасиво.
Если ты подключил, например, iostream со своими потоками, то зачем подключать, например, stdio, который опять для себя откроет strin, stdout и т. д? Смысла нет.
Lord_Voodoo
Супер-модератор
8584 / 2184 / 61
Регистрация: 07.03.2007
Сообщений: 10,885
Завершенные тесты: 1
20.03.2009, 13:50  [ТС] #8
я просто слышал, что такое лучше не делать... понятное дело, что можно... просто думал есть какие-то причины избегать этого, глобальные и зловещие)))
я слышал что-то про возможные проблемы из-за возможности переопределения функций в с++... вот про си точно не знаю, но вроде бы нет такой возможности
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.03.2009, 13:53 #9
http://bookc.narod.ru/bb13.html

насчёт cin не знаю, так как не изучал
Ensase
Флудер
191 / 29 / 5
Регистрация: 23.03.2007
Сообщений: 335
20.03.2009, 18:15 #10
scanf использовать удобней, ибо понятней как он работает с типами данных.
так же как и printf.
а потоки уже давненько не применял, т.к. негде.

Помню давным-давно "врачи" мне посоветовали использовать printf.
Mecid
680 / 229 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
20.03.2009, 19:31 #11
кто на Си шкодит вот им и scanf
да он и побыстрее,ручное форматирование
no0ker
101 / 88 / 4
Регистрация: 17.12.2010
Сообщений: 416
22.01.2011, 21:37 #12
нужно ввести три числа разделенные '/'
в случае со scanf( " %d/%d/%d ", &a, &b, &c); все вроде просто.
а как быть с cin?
RUSya82
236 / 114 / 3
Регистрация: 15.10.2010
Сообщений: 395
22.01.2011, 22:12 #13
Цитата Сообщение от no0ker Посмотреть сообщение
нужно ввести три числа разделенные '/'
Как часто тебе требуется ввести три числа, разделенные '/' ?

Добавлено через 50 секунд
обычно вводим числа через пробел или через Enter. И причем тут '/' ?
alex_x_x
бжни
2447 / 1652 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
22.01.2011, 22:17 #14
RUSya82, дата например
потом через потоки все таки довольно неудобно выводить, манипуляторы прямо не самое удобное, что придумали в жизни
stringstream довольно тяжеловесная замена sprintf
вообщем я не понимаю фанатизма когда нельзя использовать printf
а вот со scanf'ом еще можно подумать
no0ker
22.01.2011, 22:18     cin vs scanf
  #15

Не по теме:



RUSya82, не часто. но бывает.

alex_x_x, ну ты телепат! =)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2011, 22:18
Привет! Вот еще темы с ответами:

Заменить scanf и printf на операторы, которые можно связать с Edit - C++ Builder
Здраствуйте! Помогите пожалуйста решить одну проблему! У меня есть программа написана на Си, с помощей которой можно перевести двоичную...

Операторы cin и scanf - C++
Пример кода: void func(float* p){ cout << "Введите значение"; scanf("%f\n", &p); } Как можно прочитать ссылку через cin ? При...

Из scanf в std::cin - C++
Как тоже самое сделать с помощью std::cin? printf("Введите автора %d книги.\n",i+1); scanf("%31s ",ar.author); ...

scanf/puts/cin в MS SQL? - SQL Server
Добрый день. Задача следующая: нужно вводить в таблицу настраиваемые данные. То есть не жестко оформлять это в запросе, а сначала...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.01.2011, 22:18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru