fclose(f);
}
Выполнение этой программы приведет к созданию бинарного файла с информацией о городах.
Рассмотрим еще одну программу, которая будет читать из файла информацию о городах и выводить на экран список городов, количество жителей в которых превышает миллион.
#include "stdafx.h"
#include <conio.h>
typedef struct town
{ int kod;
char name[10];
long c; } city;
city t;
int main()
{
FILE *f;
f=fopen("file1.dat","rb"); //открытие бинарного файла для чтения
fread(&t, sizeof(t), 1, f); //чтение из файла одной записи в t
while (!feof(f))
{
if(t.c>1000000)
printf("\n%3d название:%10s количество жителей:%ld",
t.kod, t.name, t.c);
fread(&t, sizeof(t), 1, f);
}
fclose(f);
}
2.15.2. Работа с потоками в С++
Поток — это понятие, относящееся к любому переносу данных от источника к приемнику. Потоки C++ обеспечивают надежную работу как со стандартными, так и с определенными пользователем типами данных.
Для работы с файлами в С++ необходимо подключить заголовочный файл <fstream>.В <fstream> определены несколько классов и подключены заголовочные файлы <ifstream>-файловый ввод и <ofstream>-файловый вывод.
Файловый потоковый ввод/вывод аналогичен стандартному вводу/выводу. Единственное отличие состоит в том, что ввод/вывод выполнятся не на экран, а в файл. Если ввод/вывод на стандартные устройства выполняется с помощью объектов cin и cout, то для организации файлового потокового ввода/вывода достаточно создать собственные объекты, которые можно использовать аналогично операторам cin иcout.
Например, необходимо создать текстовый файл и записать в него строку «Работа с файлами в С++» средствами работы с потоками. Для этого необходимо проделать следующие шаги:
1. создать объект класса ofstream;
2. cвязать объект класса с файлом, в который будет производиться запись;
3. записать строку в файл;
4. закрыть файл.
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[])
{ setlocale(0,"RUS");
ofstream fout("cppstudio.txt"); /* создаём объект класса ofstream для записи и связываем его с файлом cppstudio.txt */
fout<< "Работа с файлами в С++";// запись строки в файл
fout.close(); // закрываем файл
cout<<"Файл создан"<<"\n";
return 0;
}
Для более углубленного изучения данного подхода работы с файлами рекомендуем обратиться, например, [2],[4].
Дата добавления: 2015-02-10; просмотров: 668;