Файловый ввод - вывод
В программировании нередко приходится иметь дело с файлами. В данной статье мы рассмотрим основный принципы и методы файлового ввода - вывода.
Прежде, чем использовать файловый ввод - вывод, подключаем заголовочный файл fstream.
Начинаем работать
Для начала объявим потоки:
ifstream fin; // открываем входной поток - fin
ofstream fout; // открываем выходной поток - fout
ifstream и ofstream - это классы. Значит созданные нами fin и fout - это экземпляры класса, или объекты. Это означает, что для них определены методы.
Воспользуемся методом открытия файла - open(). В скобках нам необходимо указать имя требуемого файла в кавычках.
fin.open("input.txt");
Также одним из методов является is_open(). Данный метод проверяет, удалось ли открыть файл. Возвращает логическое значение.
if (!fin.is_open())
cout << "Error! File not found.";
Иначе, нам удалось открыть файл. Предположим, что в нашем файле лежали некоторые числа, и мы хотим узнать их сумму и вывести её на экран. Стоит отметить, что файл должен лежать в одной папке с вашем проектом (в противном случае, можно указать путь к файлу).
else
{
int n,sum = 0;
while (fin >> n)
{
sum += n;
}
cout << "Sum: " << sum;
}
fin.close();
Всегда, после использования потока, закрываем его методом close().
Теперь рассмотрим вывод в файл. На самом деле, он не сильно отличается от ввода. Открываем файл для вывода:
fout.open("output.txt");
И теперь просто выводим при помощи fout:
fout << "Sum: " << sum;
Финальный код:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin; // открываем входной поток - fin
ofstream fout; // открываем выходной поток - fout
fin.open("input.txt");
fout.open("output.txt");
if (!fin.is_open())
cout << "Error! File not found.";
else
{
cout << "Success!";
int n,sum = 0;
while (fin >> n)
{
sum += n;
}
fout << "Sum: " << sum;
}
fin.close();
fout.close();
return 0;
}