В языке C++ ввод-вывод осуществляется через объекты классов ifstream (для чтения данных) и ofstream (для вывода данных). Эти классы объявлены в заголовочном файле fstream.
При создании этих объектов нужно передать в конструктор один параметр - имя файла.
После этого с этими объектами можно работать точно так же, как с объектами cin и сout.
После окончания работы с файлами, файлы нужно "закрыть" эти объекты, вызвав для них метод close().
Приведем пример программы, которая считывает два числа из файла с именем input.txt и выводит результат в файл output.txt.
Аналогично для считывания строки до символа конца строки из файла можно использовать функцию getline с двумя параметрами - файловый объект, из которого читаются данные и строка, куда записывается результат. Например:
string s;
getline(fin, s);
Для проверки состояния файла можно использовать метод файла eof(). Он возвращает значение true или false в зависимости от того, был ли обнаружен конец файла при чтении:
if (fin.eof())
Но при использовании этого метода могут возникнуть затруднения, например, с тем, что если после последнего числа в файле стоит символ конца строки, то состояние "достигнут конец файла" произойдет не после чтения последнего числа, а после следующего чтения.
Более надежный (и простой!) способ считать последовательность чисел из файла до конца файла -- использование значения, возвращаемого при считывании:
while (fin >> d)