Запитання з тегом «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
Як правильно перевантажувати оператор << для потоку?
Я пишу невелику бібліотеку матриць на C ++ для матричних операцій. Однак мій упорядник скаржиться, де раніше цього не робив. Цей код був залишений на полиці протягом 6 місяців, і між ними я модернізував комп’ютер з debian etch до lenny (g ++ (Debian 4.3.2-1.1) 4.3.2), проте у мене є та …

11
Як надрукувати (використовуючи cout) число у двійковій формі?
Я слідую за курсом коледжу з операційних систем, і ми вчимося, як перетворити з двійкових у шістнадцятковий, десятковий у шістнадцятковий і т.д. + 1). У нас є кілька вправ, які потрібно зробити на папері, і я хотів би мати можливість перевірити свої відповіді, перш ніж подавати свою роботу вчителю. Я …

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

15
Чи можете ви пояснити поняття потоків?
Я розумію, що потік - це подання послідовності байтів. Кожен потік забезпечує засоби для читання та запису байтів у свою задану сховище. Але в чому сенс потоку? Чому саме резервний магазин не є тим, з чим ми взаємодіємо? З будь-якої причини ця концепція просто не натискає на мене. Я прочитав …

11
Хто архітектурно розробляв C ++ IOStreams, і чи вважатиметься він добре розробленим за сьогоднішніми стандартами? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, редагуючи цю публікацію . Закрито 2 роки тому . Удосконаліть це питання По-перше, може здатися, що я прошу суб'єктивних думок, але це не …
127 c++  iostream 

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..)? Дякую.
105 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; } …
105 c++  input  iostream  istream  c++-faq 

7
У чому різниця між cout, cerr, clog of iostream header у c ++? Коли використовувати який?
Я намагався дослідити різницю між cout, cerrі clogв Інтернеті , але не міг знайти ідеальний відповідь. Мені досі незрозуміло, коли використовувати який. Хто-небудь може пояснити мені за допомогою простих програм і проілюструвати ідеальну ситуацію щодо того, коли використовувати яку? Я відвідав цей сайт, який показує невелику програму на cerrі clog, …
98 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.