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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.91
Staier
0 / 0 / 0
Регистрация: 04.10.2009
Сообщений: 5
#1

cin cout и fscan fprintf - C++

14.07.2010, 19:45. Просмотров 4398. Ответов 20
Метки нет (Все метки)

Здравствуйте!
Помогите понять чем они отличаются. учили в школе както через фсканф и фпринтф хотел разобраться с cin и сout. в fscanf понятно что подключаешь файл через fopen или freopen и дальше юзаешь его при чтении/выводе. а как быть с cin cout?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2010, 19:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос cin cout и fscan fprintf (C++):

Cin cout - C++
записать через сin cout printf ("a=", i); scanf ("%f", &a);

Cout cin - C++
Ребят, мы пишем cout << .... и cin >> .... Как называются эти операторы << и >>? И что они делают?

cin cout - C++
Как выводить через cin cout а не через printf. А то получается ерунда #include <stdio.h> #include <locale.h> #include <string> ...

Ошибка на cout и cin - C++
немогу понять в чем ошибка, есть код программы, вроде бы все правильно написано, но возможно я где-то допустил ошибку, но почему-то в упор...

операторы cin, cout - C++
Здравствуйте! Написала элементарную программу: #include <iostream> using namespace std; int main() { cout<< "Введите...

Не работают cin и cout - C++
Компилю на С++. Впервые. Использую Borland C++ Builder 6.0 Прочитал много разных самоучителей, энциклопедий по С++ Создаю приложение...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.07.2010, 00:01 #16
Evg, точно также как cout'ом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <sstream>
 
int main() {
  std::ostringstream stream;
 
  stream << 1.0 << " string " << 98 << std::endl;
 
  std::cout << stream.str() << std::endl;
 
  return 0;
}
Это конечно не vsprintf, но хоть что-то.
Evg
Эксперт CАвтор FAQ
17624 / 5848 / 375
Регистрация: 30.03.2009
Сообщений: 16,124
Записей в блоге: 26
15.07.2010, 00:04 #17
Например, я использую функцию отладочной печати, которая настраивается некой величиной отладочного уровня, начиная с которого надо печатать. А само значение отладочного уровня - это некая глобальная переменная, которая в процессе работы может меняться. Условно говоря, что-то типа этого.

C
1
2
3
4
5
6
7
8
9
10
void
DebugPrint (int level, const char *format, ...)
{
  if (level < cur_level)
    return;
 
  va_list va;
  va_start (va, format);
  vfprintf (stderr, format, va);
}
В итоге все отладочные печати выглядят почти как printf'ы (только появляется дополнительный первый параметр). Как что-то подобное написать на Си++, чтобы точки вызова отладочной печати внешне выглядели почти как работа с cout'ом?

Добавлено через 56 секунд
Твой пример - это немного не то, что мне хочется (если я правильно его понял)
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.07.2010, 00:16 #18
Evg, хороший вопрос. К сожалению, ничего подобного vsprintf в C++ пока нет. Поэтому твой пример на C++ по челевечески не написать.
Evg
Эксперт CАвтор FAQ
17624 / 5848 / 375
Регистрация: 30.03.2009
Сообщений: 16,124
Записей в блоге: 26
15.07.2010, 00:26 #19
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Поэтому твой пример на C++ по челевечески не аписать.
Вот и я про что. Все эти потуги академического программирования хороши лишь до поры до времени. В какой-то момент сталкиваешься с тем, что работать только на высоком уровне не всегда получается. Потому я в своё время и невзлюбил Си++ (т.е. это был чисто эмоциональный шаг). Сейчас потихоньку осваиваюсь, но постоянно ощущаю, что из-за слишком высокого уровня многое получается через ж...у

Добавлено через 1 минуту
Да, началось то всё с чего. Именно поэтому лично для меня вопрос cout vs printf далеко не однозначен. Пока я пользуюсь исключительно printf'ами
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
15.07.2010, 00:53 #20
Evg, есть подвижки к более безопасной замене эллепсиса. Новый стандарт, а именно шаблоны с переменным числом аргументов позволит реализовать безопасные к типам printf-подобные функции. Тогда думаю таких заморочек не будет.
Evg
Эксперт CАвтор FAQ
17624 / 5848 / 375
Регистрация: 30.03.2009
Сообщений: 16,124
Записей в блоге: 26
15.07.2010, 08:46 #21
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Evg, есть подвижки к более безопасной замене эллепсиса. Новый стандарт, а именно шаблоны с переменным числом аргументов позволит реализовать безопасные к типам printf-подобные функции. Тогда думаю таких заморочек не будет.
А дело ведь не в том, чтобы реализовать аналог функции с эллипсом, а в том, чтобы все эти аргументы транзитом передать в другую функцию. Я не знаю, что из себя будет представлять шаблон с переменным числом аргументов, но как-то слабо верю в то, что на уровне языка можно сделать нормальную конструкцию транзитной передачи аргументов. Через ж...у сделать-то всегда можно, но стандарт языка - это не тот случай, когда делать через ж..у.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2010, 08:46
Привет! Вот еще темы с ответами:

Добавить cin и cout - C++
#include &lt;iostream&gt; using namespace std; struct Node { int numer; //информационный элемент int pos; //информационный...

НЕ находит cin cout - C++
Вроде бы подключил заголовочные файлы. Почему не находит cin и cout они же вроде бы должны быть в iostream #include &lt;stdafx.h&gt; ...

перезагрузка cin, cout - C++
Помогите корректно перезагрузить эти два оператора! #include &lt;iostream&gt; using namespace std; class Fractions{ public: ...

Cin и cout не компилируется - C++
Начал изучать С++, и возникли проблемы с cin и cout, пишет Undefined symbol, хотя std прописан. Если пишу std::cin то выдает 'cout' is...


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

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

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