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

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

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





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

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

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