EN
ES

Ввод-вывод в С++

Библиотека Айтигенио
14 июля 2026

Ввод-вывод (Input/Output, I/O) — это процесс получения данных программой и вывода результатов ее работы. Без ввода-вывода программа не может взаимодействовать с пользователем, файлами или другими устройствами.

Проще говоря:

  • ввод — получение информации;
  • вывод — отображение или сохранение информации.

Например, если программа спрашивает возраст пользователя, а затем выводит сообщение с этим возрастом, она использует и ввод, и вывод.

Зачем нужен ввод-вывод

Практически любая программа работает с данными:

  • калькулятор получает числа и выводит результат;
  • игра получает нажатия клавиш и отображает происходящее на экране;
  • текстовый редактор читает файлы и сохраняет изменения;
  • интернет-браузер получает данные с сервера и показывает страницы.

Все эти действия относятся к операциям ввода-вывода.

Потоки в C++

В C++ ввод и вывод организованы через потоки (streams). Поток можно представить как канал, по которому движутся данные. Основные потоки:

  • cin — поток ввода;
  • cout — поток вывода;
  • cerr — поток вывода ошибок;
  • clog — поток вывода диагностических сообщений.

Для работы с ними обычно подключается библиотека:

#include <iostream>

Вывод данных с помощью cout

Для вывода информации используется объект cout.

Пример:

#include <iostream>

int main() {
    std::cout << "Привет, мир!";
    return 0;
}

Результат: Привет, мир!

Оператор << называется оператором вставки в поток. Он отправляет данные в поток вывода.

Можно выводить несколько значений подряд:

int age = 15;

std::cout << "Возраст: " << age;

Результат: Возраст: 15

Перевод строки

Часто требуется перейти на новую строку. Для этого используют:

std::cout << "Первая строка\n";
std::cout << "Вторая строка";

или

std::cout << "Первая строка" << std::endl;

std::endl не только переводит строку, но и очищает буфер вывода.

Ввод данных с помощью cin

Для получения данных от пользователя используется объект cin.

Пример:

#include <iostream>

int main() {
    int number;

    std::cin >> number;

    std::cout << "Вы ввели: " << number;

    return 0;
}

Если пользователь введет: 25

то программа выведет: Вы ввели: 25

Оператор >> называется оператором извлечения из потока.

Ввод нескольких значений

Можно считывать сразу несколько переменных:

int a, b;

std::cin >> a >> b;

Если пользователь введет: 10 20

то:

  • a получит значение 10;
  • b получит значение 20.

Работа со строками

Для хранения текста используется тип string.

Пример:

#include <iostream>
#include <string>

int main() {
    std::string name;

    std::cin >> name;

    std::cout << "Привет, " << name;

    return 0;
}

Если ввести: Анна

программа выведет: Привет, Анна

Однако cin считывает текст только до первого пробела. Например, ввод:

Анна Иванова

сохранит только слово:

Анна

Функция getline()

Для чтения целой строки с пробелами используют:

std::string text;

std::getline(std::cin, text);

Пример:

std::string fullname;

std::getline(std::cin, fullname);

std::cout << fullname;

Ввод: Анна Иванова

Вывод: Анна Иванова

Получите до 5 уроков по программированию на С++ в подарок
  1. Запишите ребенка на первый пробный урок
  2. Оплатите пакет занятий в течение 24 часов
  3. Получите до 5 уроков в подарок

Буферизация ввода и вывода

В C++ данные часто сначала помещаются в специальную область памяти — буфер. Это позволяет:

  • ускорить работу программы;
  • уменьшить количество обращений к устройствам.

Например, текст может накапливаться в буфере и выводиться на экран не сразу, а частями.

Именно поэтому иногда используют std::endl или std::flush для принудительной отправки данных на экран.

Вывод ошибок

Для сообщений об ошибках предназначен поток cerr.

Пример:

std::cerr << "Ошибка ввода";

Этот поток отделен от обычного вывода и часто используется для диагностики программ.

Ввод-вывод файлов

Помимо клавиатуры и экрана, C++ позволяет работать с файлами. Для этого подключается библиотека:

#include <fstream>

Запись в файл:

std::ofstream file("data.txt");

file << "Привет";

Чтение из файла:

std::ifstream file("data.txt");

std::string text;
file >> text;

Файлы используются для:

  • сохранения настроек;
  • хранения результатов работы программы;
  • ведения журналов событий;
  • обработки больших объемов данных.

Где применяется ввод-вывод

Механизмы ввода-вывода используются практически во всех программах:

  • консольных приложениях;
  • компьютерных играх;
  • мобильных приложениях;
  • веб-сервисах;
  • системных утилитах;
  • программах анализа данных.

Даже простая программа «Калькулятор» постоянно выполняет операции ввода и вывода: получает числа от пользователя и показывает результат вычислений.

Поможет разобраться с вводом-выводом, переменными и другими основами программирования тренер международной онлайн-школы. Запишитесь на бесплатный урок по C++ и попробуйте написать свою первую программу под руководством преподавателя.

Кратко

Ввод-вывод в C++ — это механизм обмена данными между программой и внешним миром. Для работы с ним чаще всего используются потоки:

  • cin — ввод данных;
  • cout — вывод данных;
  • cerr — вывод ошибок.

Понимание ввода-вывода — один из первых и самых важных шагов в изучении C++, поскольку именно через него программа начинает взаимодействовать с пользователем и другими источниками информации.

Заберите бесплатный урок с реальным учителем!

Даём знания уже на первом уроке.
Итог: крутой IT-проект!

Откройте мир IT для ребёнка на бесплатном уроке
  • Без продаж
  • С реальным
    учителем
  • Итоговый проект
    в конце урока