Вопросы с тегом «iostream»

Библиотека iostream C ++ - это объектно-ориентированная библиотека, которая обеспечивает функции ввода и вывода с использованием потоков. Классы iostreams поддерживают типобезопасный ввод-вывод встроенных типов и могут быть расширены для поддержки определяемых пользователем типов путем перегрузки операторов >> и <<.

10
Почему чтение строк из stdin намного медленнее в C ++, чем в Python?
Я хотел сравнить строки чтения строкового ввода из stdin, используя Python и C ++, и был шокирован, увидев, что мой код C ++ работает на порядок медленнее, чем эквивалентный код Python. Так как мой C ++ ржавый и я еще не эксперт Pythonista, пожалуйста, скажите мне, если я делаю что-то …

4
Почему iostream :: eof внутри условия цикла (т.е. `while (! Stream.eof ())`) считается неправильным?
Я только что нашел комментарий в этом ответе о том, что использование iostream::eofв условии цикла «почти наверняка неправильно». Я обычно использую что-то вроде while(cin&gt;&gt;n)- что, я думаю, неявно проверяет EOF. Почему проверка на eof явно использует while (!cin.eof())неправильно? Чем он отличается от использования scanf("...",...)!=EOFв C (который я часто использую без …
595 c++  iostream  c++-faq 

12
C ++: «std :: endl» против «\ n»
Многие книги C ++ содержат пример кода, подобного этому ... std::cout &lt;&lt; "Test line" &lt;&lt; std::endl; ... так что я всегда так делал. Но я видел много кода от таких разработчиков: std::cout &lt;&lt; "Test line\n"; Есть ли техническая причина, чтобы отдавать предпочтение одному над другим, или это просто вопрос стиля …


11
Как вывести двойное значение с полной точностью, используя cout?
Итак, я получил ответ на мой последний вопрос (я не знаю, почему я не подумал об этом). Я печатал doubleиспользование, coutкоторое округлилось, когда я не ожидал этого. Как я могу сделать coutпечать с doubleиспользованием полной точности?

5
Как правильно перегрузить оператор << для ostream?
Я пишу небольшую матричную библиотеку на C ++ для матричных операций. Однако мой компилятор жалуется, где раньше этого не было. Этот код оставлялся на полке в течение 6 месяцев, и между тем я обновил свой компьютер с debian etch до lenny (g ++ (Debian 4.3.2-1.1) 4.3.2), однако у меня та …

11
Как напечатать (используя cout) число в двоичном виде?
Я учусь в колледже на курсах по операционным системам, и мы учимся, как преобразовывать двоичные числа в шестнадцатеричные, десятичные в шестнадцатеричные и т. Д., И сегодня мы только что узнали, как числа со знаком / без знака хранятся в памяти с помощью дополнения к двум (~ число +1) У нас …

4
Стандарт C ++ предписывает низкую производительность для iostreams, или я просто имею дело с плохой реализацией?
Каждый раз, когда я упоминаю о низкой производительности iostreams стандартной библиотеки C ++, меня встречает волна недоверия. Тем не менее, у меня есть результаты профилировщика, показывающие большое количество времени, проведенного в коде библиотеки iostream (полная оптимизация компилятора), и переключение с iostreams на специфичные для ОС API-интерфейсы ввода-вывода и настраиваемое управление …

15
Можете ли вы объяснить концепцию потоков?
Я понимаю, что поток представляет собой последовательность байтов. Каждый поток предоставляет средства для чтения и записи байтов в заданное хранилище. Но какой смысл в потоке? Почему сам бэк-магазин не является тем, с чем мы взаимодействуем? По какой-то причине эта концепция просто не подходит для меня. Я прочитал кучу статей, но …

11
Кто спроектировал / разработал IOStreams для C ++ и будет ли он по-прежнему считаться хорошо разработанным по сегодняшним стандартам? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Во-первых, может показаться, что я прошу …
128 c++  iostream 

3
Почему std :: getline () пропускает ввод после форматированного извлечения?
У меня есть следующий фрагмент кода, который запрашивает у пользователя свое имя и статус: #include &lt;iostream&gt; #include &lt;string&gt; int main() { std::string name; std::string state; if (std::cin &gt;&gt; name &amp;&amp; std::getline(std::cin, state)) { std::cout &lt;&lt; "Your name is " &lt;&lt; name &lt;&lt; " and you live in " &lt;&lt; state; …
109 c++  input  iostream  istream  c++-faq 

7
Восстановить состояние std :: cout после манипулирования им
Предположим, у меня есть такой код: void printHex(std::ostream&amp; x){ x&lt;&lt;std::hex&lt;&lt;123; } .. int main(){ std::cout&lt;&lt;100; // prints 100 base 10 printHex(std::cout); //prints 123 in hex std::cout&lt;&lt;73; //problem! prints 73 in hex.. } У меня вопрос: есть ли способ «восстановить» coutисходное состояние после возврата из функции? (Что-то вроде std::boolalphaи std::noboolalpha..)? Спасибо.
106 c++  iostream 

7
В чем разница между cout, cerr, clog заголовка iostream в с ++? Когда использовать какой?
Я пытался исследовать разницу между cout, cerrи clogв Интернете , но не мог найти идеальный ответ. Я до сих пор не понимаю, когда использовать. Может ли кто-нибудь объяснить мне с помощью простых программ и проиллюстрировать идеальную ситуацию, когда использовать какую? Я посетил этот сайт, который показывает небольшую программу на cerrи …
104 c++  iostream  cout  clog 

4
оператор << должен принимать ровно один аргумент
ах #include "logic.h" ... class A { friend ostream&amp; operator&lt;&lt;(ostream&amp;, A&amp;); ... }; logic.cpp #include "a.h" ... ostream&amp; logic::operator&lt;&lt;(ostream&amp; os, A&amp; a) { ... } ... Когда я компилирую, он говорит: std :: ostream &amp; logic :: operator &lt;&lt; (std :: ostream &amp;, A &amp;) 'должен принимать ровно один аргумент. …

7
Как читать построчно или сразу весь текстовый файл?
Я нахожусь в учебнике, который знакомит с файлами (как читать и писать из \ в файл) Прежде всего, это не домашнее задание, это просто общая помощь, которую я ищу. Я знаю, как читать по одному слову за раз, но я не знаю, как читать по одной строке за раз или …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.