Основи введення/виведення в C++

Основи введення/виведення в C++

C++ поставляється з бібліотеками, які надають нам багато способів для виконання введення та виведення. У C++ введення та виведення виконуються у формі послідовності байтів або більш відомої як потоки .

  • Вхідний потік: Якщо напрямок потоку байтів - від пристрою (наприклад, клавіатури) до основної пам'яті, то цей процес називається введенням.
  • Вихідний потік: Якщо напрямок потоку байтів протилежний, тобто від основної пам’яті до пристрою (екрана дисплея), то цей процес називається виведенням.

Основи введення/виведення в C++

Файли заголовків, доступні в C++ для операцій введення/виведення, це:

  1. iostream : iostream означає стандартний потік введення-виведення. Цей файл заголовка містить визначення таких об’єктів, як cin, cout, cerr тощо.
  2. іоманіп : iomanip означає маніпулятори введення-виведення. Методи, оголошені в цих файлах, використовуються для маніпулювання потоками. Цей файл містить визначення setw, setprecision тощо.
  3. fstream : Цей файл заголовка в основному описує потік файлів. Цей файл заголовка використовується для обробки даних, які зчитуються з файлу як вхідні дані, або дані, що записуються у файл як вихідні дані.
  4. біти/stdc++: Цей файл заголовка містить усі стандартні бібліотеки. У змаганнях з програмування використання цього файлу є гарною ідеєю, коли ви хочете скоротити час, витрачений на виконання домашніх справ; особливо коли ваш ранг залежить від часу. Щоб дізнатися більше про цей файл заголовка, див це стаття.

У C++ після файлів заголовків ми часто використовуємо ' використання простору імен std; ‘. Причина цього полягає в тому, що всі стандартні визначення бібліотек знаходяться всередині простору імен std. Оскільки функції бібліотеки не визначені в глобальному масштабі, тому для їх використання ми використовуємо простір імен std . Отже, нам не потрібно писати STD:: у кожному рядку (наприклад, STD::cout тощо). Щоб дізнатися більше, див це стаття.

Два екземпляри cout у C++ і cin у C++ класу iostream дуже часто використовуються для друку вихідних даних і отримання вхідних даних відповідно. Ці два найпростіші методи отримання вхідних даних і друку виведення в C++. Щоб використовувати cin і cout у C++, необхідно включити файл заголовка iostream в програмі.

У цій статті в основному розглядаються об’єкти, визначені у файлі заголовка iostream як cin і cout.

  • Стандартний вихідний потік (cout) : Зазвичай стандартним пристроєм виведення є екран дисплея. C++ cout оператор є екземпляром класу ostream. Він використовується для виведення на стандартний пристрій виведення, яким зазвичай є екран дисплея. Дані, які необхідно відобразити на екрані, вставляють у стандартний вихідний потік (cout) за допомогою оператора вставки( < < ).

C++




#include> using> namespace> std;> int> main()> {> > char> sample[] => 'techcodeview.com'> ;> > cout < < sample < <> ' - A computer science portal for geeks'> ;> > return> 0;> }>

Вихід:

techcodeview.com - A computer science portal for geeks 

Часова складність: О(1)
Допоміжний простір: О(1)

У наведеній вище програмі оператор вставки ( < < ) вставляє значення рядкової змінної зразок а потім рядок A computer science portal for geeks у стандартному вихідному потоці cout який потім відображається на екрані.

  • стандартний вхідний потік (cin) : зазвичай пристроєм введення в комп’ютері є клавіатура. Оператор C++ cin є екземпляром класу потік і використовується для читання введення зі стандартного пристрою введення, яким зазвичай є клавіатура.
    Оператор вилучення ( >> ) використовується разом з об’єктом прийом їжі для читання введених даних. Оператор вилучення витягує дані з об’єкта прийом їжі який вводиться за допомогою клавіатури.

C++




#include> using> namespace> std;> int> main()> {> > int> age;> > cout < <> 'Enter your age:'> ;> > cin>> вік;> > cout < <> ' Your age is: '> < < age;> > return> 0;> }>

Вхідні дані:

18 

Вихід:

Enter your age: Your age is: 18 

Часова складність: О(1)
Допоміжний простір: О(1)

Наведена вище програма просить користувача ввести вік. Об'єкт cin підключається до пристрою введення. Вік, введений користувачем, витягується з cin за допомогою оператора вилучення( >> ), а витягнуті дані потім зберігаються в змінній вік присутній праворуч від оператора вилучення.

  • Небуферизований стандартний потік помилок (cerr) : C++ cerr — це стандартний потік помилок, який використовується для виведення помилок. Це також екземпляр класу iostream. Оскільки cerr у C++ не буферизований, він використовується, коли потрібно негайно відобразити повідомлення про помилку. Він не має буфера для зберігання повідомлення про помилку та відображення його пізніше.
  • Основна відмінність між cerr і cout виникає, коли ви хочете перенаправити вихід за допомогою cout, який перенаправляється у файл, якщо ви використовуєте cerr, помилка не зберігається у файлі. повідомлення)

C++




#include> using> namespace> std;> int> main()> {> > cerr < <> 'An error occurred'> ;> > return> 0;> }>

Вихід:

An error occurred 

Часова складність: О(1)
Допоміжний простір: О(1)

  • буферизований стандартний потік помилок (засмічення) : це також екземпляр класу ostream і використовується для відображення помилок, але на відміну від cerr помилка спочатку вставляється в буфер і зберігається в буфері, доки він не буде повністю заповнений. або буфер не скидається явно (за допомогою flush()). Повідомлення про помилку також буде показано на екрані.

C++




#include> using> namespace> std;> int> main()> {> > clog < <> 'An error occurred'> ;> > return> 0;> }>

Вихід:

An error occurred 

Часова складність: О(1)
Допоміжний простір: О(1)

Схожі статті :

  • cout < < endl проти cout < < у C++
  • Проблема з scanf(), коли після нього є fgets()/gets()/scanf().
  • Як використовувати getline() у C++, якщо у вхідних даних є порожні рядки?
  • Cin-Cout проти Scanf-Printf