Нужно сделать лабораторную работу "Обработка бинарных файлов в прямом режиме". Язык программирования Borland С. Лабораторная работа № 10 Обработка бинарных файлов
ЦЕЛЬ РАБОТЫ: приобретение практических навыков создания и обработки бинарных файлов.
Если файл открыт в бинарном режиме, его можно записывать или считывать побайтно. Функция fseek() позволяет обращаться с файлом как с массивом и переходить к любой позиции в файле, обеспечивая возможность произвольного доступа. Если текстовые файлы являются файлами с последовательным доступом, то произвольный доступ чаще всего применяется к бинарным файлам. Бинарные файлы могут содержать любую информацию. Чаще всего используются файлы, содержащие структуры. Для чтения и записи в бинарные файлы можно использовать функции fread(), fwrite() или fscanf(),fprintf(). fread –функция для чтения из файла: int fread(void ptr, unsigned size, unsigned count, FILE f); Из файла f считываются и по адресу ptr записываются count элементов размером size каждый. Функция возвращает число фактически считанных элементов. fwrite – функция для записи в файл: int fwrite(void ptr, unsigned size, unsigned count, FILE f); В файл записываются, начиная с адреса ptr, count элементов размером size каждый. Функция возвращает число фактически записанных элементов. fseek – функция для произвольного доступа к байтам бинарных файлов: int fseek(FILE f, long offset, int w); offset показывает, на сколько байт нужно сместиться относительно точки отсчёта – w. w должно быть равно одной из трех констант: SEEK_SET или 0 - начало файла; SEEK_CUR или 1 – текущая позиция в файле; SEEK_END или 2 – конец файла. ftell - возвращает текущую позицию в файле как длинное целое: long int ftell (FILE f);
Пример обработки бинарного файла
Составить программу, выполняющую следующие функции:
//lab10_1 #include #include #include struct tov {char name[10]; float c; int kol;} t1; void input(FILE ); // создание нового файла void print(FILE ); // просмотр файла void app(FILE ); // добавление в файл void find(FILE ); // поиск и изменение main() { char c; FILE tf; while (1) { clrscr(); puts(" 1 – новый файл"); puts(" 2 – просмотр файла"); puts(" 3 – добавление в файл"); puts(" 4 – поиск и изменение"); puts(" 0 - выход"); c=getch(); switch(c) { case 1:input(tf);break; case 2:print(tf);break; case 3:app(tf);break; case 4:find(tf);break; case :return 0; default : puts(" неверный режим"); } } } void input(FILE tf) { char ch; tf=fopen("file1.dat","wb"); // открытие бинарного файла для записи clrscr(); printf("\n Ввод товаров\n"); do { printf("\n название: "); scanf("%s",&t1.name); printf(" цена: "); scanf("%f",&t1.c); printf(" количество: "); scanf("%d",&t1.kol); fwrite(&t1,sizeof(t1),1,tf); // запись в файл одной структуры t1 printf("\n Закончить? y/n "); ch=getch(); } while (ch != y); fclose(tf); } void print(FILE *tf) { int i; clrscr(); tf=fopen("file1.dat","rb"); // открытие бинарного файла для чтения i=1; fread(&t1,sizeof(t1),1,tf); // чтение из файла одной структуры t1 while (!feof(tf)) { printf("\n %3d tovar %10s cena %6.2f kolic %4d",i,t1.name,t1.c,t1.kol); fread(&t
Тип: Лабораторная работа
Предмет: C/C++
Лабораторные работы по алгоритмам и структурам данных
Стоимость: 1416 руб.
Тип: Лабораторная работа
Предмет: C/C++
Структуры и алгоритмы обработки данных в ЭВМ 040409
Стоимость: 1380 руб.
Тип: Лабораторная работа
Предмет: C/C++
Теория вычислительных процессов. ТУСУР. Романенко
Стоимость: 1416 руб.
Тип: Лабораторная работа
Предмет: C/C++
нужна лабораторная работа инженерная графика, выполнение в Dev C++ интересует стоимость построение ф
Стоимость: 1416 руб.
С понятием «методы исследования» студент сталкивается не только в . Уже во также нужно перечислить способы, которые использовались при исследовании и написании научного труда.В данной статье вы узнаете, как определяют это понятие в науке, какие методы научного исследования встречаются в дипломной …
Читать дальшеПосле окончании лабораторной работы необходимо . О том, как правильно оформить отчет по лабораторной работе читайте в статье.Чаще всего лабораторная работа – это своеобразное приключение для студента. И вот именно об этом приключении и следует рассказать в отчете. Как написать отчет и ничего не у…
Читать дальше