Ввод-вывод информации при помощи файлов

Ввод-вывод информации при помощи файлов

Раньше для ввода и вывода информации мы использовали клавиатуру. Программа a + b при этом выглядела следующим образом:

#include <iostream>
#include <conio.h>

using namespace std;

int a, b, c;

int main() {
cin >> a >> b;
c = a + b;
cout << c;
getch();
return 0;
}

С использованием файлов она будет выглядеть следующим образом:

#include <iostream>

using namespace std;

int a, b, c;

int main() {
freopen(«a+b.in», «r», stdin);
freopen(«a+b.out», «w», stdout);
cin >> a >> b;
c = a + b;
cout << c;
return 0;
}

Что же поменялось?

Во-первых мы убрали функцию getch(), которая была нужна для задержки экрана.
Во-вторых библиотеку conio.h, которая была нужна для вызова getch().

Зато мы добавили в код две строки:

freopen(«a+b.in», «r», stdin);
freopen(«a+b.out», «w», stdout);

В строке

freopen(«a+b.in», «r», stdin);

мы подключаем файл ввода. Из него мы будем брать значения наших переменных. В freopen передаются три значения.

Первое это имя файла откуда мы будем брать информацию.

«r» и stdin указывают на то, что это файл ввода.

В строке

freopen(«a+b.out», «w», stdout);

мы подключаем файл вывода. В него мы будем записывать полученный результат.

Если файл вывода отсутствует, то компьютер сам его создаст. Здесь первое значение это имя файла куда мы будем записывать информацию.  «w» и stdout указывают на то, что это файл вывода.

Файлы «a+b.in» и «a+b.out» будут находиться в той же директории, что и исходник программы.

Вот пример файла ввода «a+b.in» для программы a + b:

1 2

Тогда мы получим файл вывода «a+b.out»:

3

Нет комментариев

Оставить комментарий