Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Листинг 9.4



//Создание бинарного файла из текстового

#include <stdio.h>

#include <string.h>

int main()

const int l name = 30;

struct

{

char name[l name + 1];

int birth year;

float pay;

}

man;

FILE *fin;

if ((fin = fopen("dbase.txt", "r")) == NULL)

{

puts("Ошибка открытия вх. файла\n");

return 1;

}

FILE *fout;

if ((fout = fopen("dbase.bin", "wb")) == NULL)

{

puts("Ошибка открытия вых. файла\n");

return 1;

}

while (!feof(fin))

{

fgets(man.name.l name.fin);

fscanf("%s%5i%10.2f\n", man.name. man.birth year. man.pay); //отладочная печать

fwrjte(&man. sizeof(man). l. fout);

}

fclose(fout);

printf("Бинарный файл написан\n");

return 0;

}

Для формирования записей в бинарном файле здесь применяется функция fwri te:

size t fwrite(const void *p. size t size, size t n, FILE *f)

Она записывает n элементов длиной size байт из буфера, заданного указателем р, в поток f. Возвращает число записанных элементов.

Для чтения из бинарного файла во второй программе будем применять функцию fread:

sizejt fread(void *p.size t size,size t n,FILE *f);

Она считывает n элементов длиной size байт в буфер, заданный указателем р, из потока f. Возвращает число считанных элементов, которое может быть меньше, чем запрошенное.





Дата публикования: 2015-10-09; Прочитано: 265 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.05 с)...