Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Бинарные файлы





Бинарные (двоичные) файлы обычно используются для организации баз данных, состоящих, как правило, из объектов структурного типа. При чтении-записи бинарных файлов удобнее всего пользоваться функциями, выполня­е­мы­ми блоковый ввод-вывод fread () и fwrite ().

Рассмотрим наиболее распространенные функции с помощью которых можно организовать работу с файлами:

int fileno(FILE *f) – возвращает значение дескриптора файла f - fd (число, определяющее номер файла);
long filelength(int fd) – возвращает длину файла, имеющего номер (дескриптор) fd в байтах;
int chsize(int fd, long pos) – выполняет изменение размера файла, имеющего номер fd, признак конца файла устанавливается после байта с номером pos;
intfseek(FILE *f, long size, int kod) – выполняет смещение указателя файла f на size байт в направлении признака kod: 0 - от начала файла; 1 - от текущей позиции указателя; 2 - от конца файла;
long ftell(FILE *f) – возвращает значение указателя на текущую позицию файла (-1 – ошибка);
intfeof(FILE *f) – возвращает ненулевое значение при правильной записи признака конца файла;
intfgetpos(FILE *f, long *pos) – определяет значение текущей позиции pos файла f, возвращает 0 при успешном завершении.

 

Пример программы работы с файлом структур:

...

struct Sved {

char Fam[30];

float S_Bal;

} zap,zapt;

char Spis[]="c:\\bc31\\work\\Sp.dat";

FILE *F_zap;

FILE* Open_file(char *, char *);

void main (void) {

int i, j, kodR, size = sizeof(Sved);

while(1) {

puts("Создание - 1\nПросмотр - 2\nДобавление - 3\nВыход - 0");

switch(kodR = getch())

{

case ‘1’: case ‘3’:

if(kodR==1) F_zap = Open_file (Spis,"w+");

else F_zap = Open_file (Spis,"a+");

while(2) {

cout << "\n Fam "; cin >> zap.Fam;

if((zap.Fam[0])=='0') break;

cout << "\n Средний балл: ";

cin >> zap.S_Bal;

fwrite(&zap,1,size,F_zap);

}

fclose(F_zap);

break;

case ‘2’: F_zap = Open_file (Spis,"r+"); int nom=1;

while(2) {

if(!fread(&zap,size, 1, F_zap)) break;

printf(" %2d: %20s %5.2f\n", nom++, zap.Fam, zap.S_Bal);

}

fclose(F_zap);

break;

case ‘0’: return; // exit(0);

} // Конец While(1)

} // Конец Switc

} // Конец программы

 

FILE* Open_file(char *file, char *kod)

{

FILE *f;

if(!(f = fopen(file, kod)))

{

puts(“Файл не создан!”);

getch();

exit(1);

}

else return f;

}

 


Список рекомендуемой литературы

 

1. Бусько В.Л., Корбит А.Г. и др. Программирование. Лабораторный практикум для студентов 1-2-го курсов всех специальностей БГУИР всех форм обучения. Часть 2. Основы программирования на алгоритмическом языке С.

2. Аксенкин М.А., Целобенок О.Н. Язык С. - Мн.: Унiверсiтэцкае, 1995. – 302 c.

3. Березин Б.И., Березин С.Б. Начальный курс С и С++. – М.: Диалог-МРТИ,1999. - 288 с.

4. Берри В., Микинз Б. Язык СИ: введение для программистов. - М.: Финансы и статистика,1988.

5. Больски М.Н. Язык программирования СИ. Справочник. - М.: Радио и связь, 1988.

6. Демидович Е.М. Основы алгоритмизации и программирования. Язык СИ. - Мн.: Бест­принт, 2001. – 440 c.

7. Касаткин А.И., Вольвачев А.Н. Профессиональное программирование на языке Си: Oт Turbo–C к Borland C++: Справочное пособие – Мн.: Вышэйшая школа,1992. - 240 с.

8. Касаткин А.Н. Профессиональное программирование на языке СИ. Управление ресурсами. Справочное пособие. Мн.: Высш. школа.1992

9. Керниган Б., Ритчи Д. Язык программирования Си. - М.: Финансы и статистика,1992. - 271 с.

10. Климова Л.И. С++. Практическое программирование. - М.: Кудиц-Образ, 2001. – 587 c.

11. Котлинская Г.П., Галиновский О.И. Программирование на языке СИ. - Мн.: Выш.шк., 1991. – 155 c.

12. Подбельский В.В., Фомин С.С. Программирование на языке Си. М.: Финансы и статистика. 2001.

13. Романовская Л.М., Русс Т.В., Свитковский С.Г. Программирование в среде СИ для ПЭВМ ЕС. - М.: Финансы и статистика, 1992.

14. Страуструп Б. Язык программирования С++. 2-е изд.: В 2 т. Киев: ДиаСофт,1993.

15. Тимофеев В.В. Программирование в среде С++ Builder 5. - М.: БИНОМ, 2000.

16. Уингер Р. Язык Турбо СИ. - М.: Мир, 1991.

17. Уэйт М., Прама С., Мартин Д. Язык СИ. Руководство для начинающих. - М.: Мир, 1988.

18. Фьюэр А. Задачи по языку СИ. - М.: Финансы и статистика, 1985.

19. Хэнкок Л., Кригер М. Введение в программирование на языке СИ. - М.: Радио и связь,1986.

20. Шилд Г. Программирование на Borland С++. - Мн.: ПОПУРРИ, 1999. – 800 c.

21. Юлин В.А., Булатова И.Р. Приглашение к СИ. - Мн.: Высш.шк., 1990.

 

Список используемой литературы

1. Синицын А.К. Конспект лекций по курсу «Программирование» для студентов 1-2-го курсов радиотехнических специальностей. - Мн.: БГУИР, 2001. - 75с.: ил. 10.


Приложение 1







Дата добавления: 2015-10-19; просмотров: 477. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Репродуктивное здоровье, как составляющая часть здоровья человека и общества   Репродуктивное здоровье – это состояние полного физического, умственного и социального благополучия при отсутствии заболеваний репродуктивной системы на всех этапах жизни человека...

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

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

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

Studopedia.info - Студопедия - 2014-2025 год . (0.008 сек.) русская версия | украинская версия