ПредишенСледващото

Днес ние гледаме на работата с двоични файлове в C

За разлика от текстови файлове, достъп до елементи на двоични файлове в произволен ред, а не последователно. Ето защо, най-бинарни файлове се наричат ​​произволни файлове за достъп.

Приложението, което е трябвало да се използват произволни файлове за достъп, трябва да ги създаде. Всички записи във файла трябва да бъде една и съща фиксирана дължина. Данните могат да бъдат вкарани в директен достъп до файлове, без да унищожава други данни променени или изтрити без пренаписване на цялата преписка.

За да получите достъп до двоичен файл (поток) в MVS нужда:

  1. За създаване на поток от съответния вид:

ifstream - вход от файл;

ofstream - за изход във файл;

fstream - да споделите файл по два начина.

  1. Или да го свържете с файла с данни и открито (отворен), за да работят по определен режим, със задължителното посочване на двоични rezhimaios :: двоичен (поток по подразбиране се отваря в текстов режим):

нищожен ifstream :: отворен (Конст Чар * името на файла, режим openmode = IOS :: в | IOS :: двоични);

нищожен ofstream :: отворен (Конст Чар * името на файла,
openmode режим = IOS :: извън | IOS :: truns | IOS :: двоични);

нищожен fstream :: отворен (Конст Чар * името на файла,
openmode режим = IOS :: в | IOS :: извън | IOS :: двоични);

където име - името на файла, който може да включва път спецификатор;

режим - определя за отваряне на файл режим (виж Лабораторни роб №10 ...).

  1. Общуването с досието посредством поток: записвате поток; четене от потока; контрол на потока състояние.

За записване на потока в C ++ метод, използван за запис:

basic_ostream<_Elem, _Tr> напиши (Конст char_type * _Str, streamsize _Count);

За да се чете от потока, като се използва метод за четене:

basic_istream<_Elem, _Tr> Прочети (конст * char_type _Str, streamsize _Count);

_Count брой изход (вход) на потока от байт

_Str изход символи (вход) до (от) на потока (а)

Случаен достъп до даден файл се извършва чрез определяне на текущата позиция във файла чрез методи:

за потоци отвори за вход:

basic_istream<_Elem, _Tr> seekg (pos_type _Pos);

basic_istream<_Elem, _Tr> seekg (off_type _Off, ios_base :: seekdir _Way);

писмено така отворен за потоци да бъдат изведени в C ++:

basic_ostream<_Elem, _Tr> seekp (pos_type _Pos);

basic_ostream<_Elem, _Tr> seekp (off_type _Off, ios_base :: seekdir _Way);

_Pos позиция в потока, за да се чете (байт номер)

_Off позиция по _Way.

_Way един от ios_base трансфери (бег, псе край):

Свързани статии

Подкрепете проекта - споделете линка, благодаря!