Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Лабораторная работа №8. Хранение данных на внешних носителях




Хранение данных на внешних носителях

С помощью классов

Заголовочный файл iostream.h определяет выходной поток cout. Аналогично, заголовочный файл f stream.h определяет класс выходного файлового потока с именем ofstream. Используя объекты класса ofstream, программы могут выполнять вывод в файл. Для начала вы должны объявить объект типа ofstream, указав имя требуемого выходного файла как символьную строку, что показано ниже:

 

ofstream file_object("FILENAME.EXT");

 

Если вы указываете имя файла при объявлении объекта типа ofstream, C++ создаст новый файл на вашем диске, используя указанное имя, или перезапишет файл с таким же именем, если он уже существует на вашем диске.

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

 

#include <iostream.h>

#include <fstream.h>

int main()

{

ofstream f("D://file.txt");

f << " Today thursday"<<'\n';

f<< "31.03.11";

}

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

Для того, чтобы считать данные из файла, необходимо создать объект типа ifstream (подготовить файл для чтения), указав в качестве параметра имя файла:

 

ifstream input_file("filename.EXT");

 

Следующая программа открывает файл file.txt, который был создан с помощью предыдущей программы, и читает, а затем отображает элементы файла:

 

#include <iostream.h>

#include <conio.h>

#include <fstream.h>

 

int main()

{

ifstream rf("D://file.txt"); //связываем rf с файлом на диске

char one[64], two[64];

rf >> one; //считываем из файла данные в переменную one

rf >> two;

cout << one << endl;

cout << two << endl;

getch();

}

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

Today

Thursday

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

 

#include <iostream.h>

#include <conio.h>

#include <fstream.h>

 

int main()

 

{

ifstream rf("D://file.txt");

char one[64], two[64];

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

rf.getline(two, sizeof(two));

cout << one << endl;

cout << two << endl;

getch();

}

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

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных