Void main(void). ifstream input_file("BOOKINFO.DAT")

{

ifstream input_file("BOOKINFO.DAT");

char one[64], two[64], three[64];

input_file >> one;

input_file >> two;

input_file >> three;

cout << one << endl;

cout << two << endl;

cout << three << endl;

}

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

Используем

потоки

вывода

Чтение целой строки файлового ввода

Известно, что для чтения целой строки с клавиатуры можно использовать функцию cin.getline. Подобным образом объекты типа ifstream могут использовать getline для чтения строки файлового ввода. Следующая программа FILELINE.CPP использует функцию getline для чтения всех трех строк файла BOOKINFO.DAT. Например:

#include <iostream.h>

#include <fstream.h>

Void main(void)

{

ifstream input_file("BOOKINFO.DAT");

char one[64], two[64], three [64];

input_file.getline(one, sizeof(one));

input_file.get line(two, sizeof(two));

input_file.getline(three, sizeof(three));

cout << one << endl;

cout << two << endl;

cout << three << endl;

}

В этом случае программа успешно читает все три строки файла. Однако во многих случаях ей неизвестно, сколько строк содержится в файле. В таких случаях она будет просто продолжать чтение содержимого файла пока не встретит конец файла.

Определение конца файла

Обычной файловой операцией в программах является чтение содержимого файла до тех пор, пока не встретится конец файла. Чтобы определить конец файла, в программе можно использовать функцию еоf потокового объекта. Эта функция возвращает значение 0, если конец файла еще не встретился, и 1, если встретился конец файла. Используя цикл while, можно непрерывно читать содержимое файла, пока не будет достигнут конец файла. Например:

while (! input_file.eof())

{

// Операторы

}

В данном случае программа будет продолжать выполнять цикл, пока функция eof возвращает ложь (0). Следующая программа TEST_EOF.CPP использует функцию eof для чтения содержимого файла BOOKINFO.DAT, пока не будет достигнут конца файла. Например:

#include <iostream.h>

#include <fstream.h>

Void main (void)

{

ifstream input_file(" BOOKINFO.DAT ");

char line[64];

while (! input_file.eof())

{

input_file.getline(line, sizeof(line));

cout << line << endl;

}

}

Аналогично, следующая программа WORD_EOF.CPP читает содержимое файла по одному слову за один раз, пока не встретится конец файла:

#include <iostream.h>

#include <fstream.h>


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: