Программа, написанная разработчиком обязательно должна иметь обратную связь с внешним миром. Но много толку от этой программы не будет. В программировании под миром часто подразумевается пользователь. Но для общения пользователя с компьютером необходим стандартный набор команд. Такими базовыми методами взаимодействия окружающего мира и пользователя выступают команды ввода-вывода.

В языке С++ можно использовать команды двумя разными способами: традиционный метод ввода-вывода библиотеки языка С и с помощью библиотеки Standard Template Library. И тот и другой варианты используют команды, заложенные в операционную систему.

Чтобы использовать в программе на С++ функции, позволяющие работать с информацией, придется подключить библиотеку . Внимание! Для корректного сбора файла нужно разрешить компилятору использовать данную библиотеку. Библиотека позволяет использовать методы для ввода/вывода данных при работе как с консолью, так и с файлом. Интересно, что в ней помимо функций привычных для языка С, находятся процедуры с увеличенной безопасностью. Последние – заканчиваются следующую пару символов «_s».

Главное помнить, что при использовании традиционного метода откроются следующие потоки:

  1. stdin – для ввода;
  2. stdout – для вывода;
  3. stderr – для сообщений об ошибке.

Также стоит знать, что методы stdio для вывода информации являются лишь внешней оболочкой для процедур ввода-вывода.

Вот пример минимальных стандартных методов ввода/вывода:

  1. printf – консольный вывод, позволяющий исправить текст;
  2. scanf –консольный ввод, позволяющий исправить текст;
  3. fprintf – стандартный вывод из файла;
  4. fscanf – стандартный ввод в файл.

Стоит сказать пару слов о нюансах при работе с классом «FILE». С помощью fopen() открывают файл. Первым параметром необходимо указать имя файла, а вторым – режим, в котором откроется файл. Всех проделанных манипуляций с файлом надо закрыть файл функцией fclose().

Если выбор пал на вариант работы с вводом-выводом при помощи потоков STL в программе, то в этой ситуации включенной библиотекой будет выступать , а для работы с файлом – .

В начале запуска программы неявно откроются четыре потока:

  1. cin – для внесения данных с любого устройства ввода ( например, клавиатуры );
  2. cout – для отображения данных на любом устройстве ( например, мониторе ) ;
  3. cerr – для показа специальной информации или ошибке;
  4. clog – буферизированная аналогия cerr, так как cerr – является не буферизированным.

Для того, чтобы вывести на экран строку «Привет, мир!», достаточно написать такой код:

std::cout << "Привет, мир!” << std::endl;

Создание экземпляра одного из трех классов «ofstream», «ifstream», «fstream» даст доступ к возможности манипулировать данными файлов. У перечисленных классов имеется метод open, который оборачивает файл в поток или, если сказать просто, раскрыть файл. В open() передаются параметры: файловое имя и вид режима, в котором надо открыть файл. Режим указывать необязательно, ведь у этого параметра задана информация по умолчанию. Пример кода, который в режиме текстового файла вносит информацию о счетчике цикла:

ofstream out_f;

out_f.open(“text.txt”);

if (out_f) {

for (int data = 0; data < 5; ++data) {

out_f << data;

if (out_f.bad()) {

cerr << "Ошибка записи! ";

return -2;

}

}

out_f.close();

}

else {

cerr << "Ошибка, файл не существует!”;

return -1;

}

Программист должен сам решить, какой принцип работы с информацией будет использован при написании кода. Если в техническом задании не прописан конкретный вариант, какой механизм следует использовать, то лучше всего использовать вариант с потоками библиотеки STL. Этот вариант считает более безопасным, чем традиционный метод использования функций языка С.