Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shprora_po_proge.docx
Скачиваний:
4
Добавлен:
23.09.2019
Размер:
518.78 Кб
Скачать

21. F.Write((char*)&s,sizeof(s)); };

22. F.Close();

В строке 23 закрывается файл, а в 24 – двоичный файл открывается для чтения.

В строке 25 реализован прямой доступ ко второму экземпляру класса в двоичном файле, поскольку ios_base::beg означает, что отсчет начинается с начала файла, а смещение задается выражением sizeof(S). В 26 строке считывается значение второй записи файла, и курсор внутри файла позиционируется в начале третьей записи. В 27-28 строках соответствующие значения полей второй записи выводятся на экран.

25. F.Seekg(sizeof(s), ios_base::beg);

26. F.Read((char*)&s,sizeof(s));

27. cout << S.marka <<" "<< S.cena <<" "<<

28. S.rashod << endl;

В строке 29 реализован прямой доступ к четвертому экземпляру класса в двоичном файле, поскольку ios_base::cur означает, что отсчет начинается с текущей позиции курсора в файле (в данном случае с третьей), а смещение задается выражением sizeof(S). В 30 строке считывается значение четвертой записи файла, а в 31-32 строках соответствующие значения полей выводятся на экран.

29. F.seekg(sizeof(S),ios_base::cur);

30. F.read((char*)&S,sizeof(S));

31. cout << S.marka <<" "<< S.cena <<" "<<

32. S.rashod << endl;

В строке 33 реализован прямой доступ к первому экземпляру класса в двоичном файле, поскольку ios_base::beg означает, что отсчет начинается с начала файла, а смещение равно 0.В 34 строке считывается значение самой первой записи файла, а в 35-36 строках соответствующие значения полей выводятся на экран.

33. F.seekg(0,ios_base::beg);

34. F.read((char*)&S,sizeof(S));

35. cout << S.marka <<" "<< S.cena <<" "<<

36. S.rashod << endl;

В строках 38-39 выводится размер объекта класса avto.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]