A bináris fájlok c, dolgozni bináris fájlok - az élethosszig prog
Ma megnézzük a munkát a bináris fájlok a C
Ellentétben a szöveges fájlokat, hozzáférést elemei bináris fájlok véletlenszerű sorrendben, hanem egymást követően. Ezért a bináris fájlok neve elérésű fájlok.
Az alkalmazás, amely állítólag használja elérésű fájlok létre kell hozni őket. Minden bejegyzés a fájlban kell egyeznie fix hosszúságú. Az adatok egészül ki közvetlen hozzáférésű fájl tönkretétele nélkül más adatokat módosítani vagy törölni, anélkül, átírta a teljes fájlt.
Ahhoz, hogy hozzáférjen a bináris fájl (stream) a MVS szükség:
- Ahhoz, hogy hozzon létre egy patak a megfelelő típus:
ifstream - input fájlból;
ofstream - kimeneti fájlba;
fstream - megosztani egy fájlt kétféleképpen.
- Társítását az adatfájlt és nyitott (open) működtetni egy bizonyos mód, a kötelező feltüntetése a bináris rezhimaios :: bináris (az alapértelmezett áramot nyitott szöveges üzemmódban):
void ifstream :: open (const char * fájlnév, openmode mode = ios :: in | ios :: bináris);
void ofstream :: open (const char * fájlnév,
openmode mode = ios :: out | ios :: truns | ios :: bináris);
void fstream :: open (const char * fájlnév,
openmode mode = ios :: in | ios :: out | ios :: bináris);
ahol fájlnév - fájl neve, amely magában útvonalmeghatározást;
üzemmódban - a fájlmegnyitási módban (lásd Laboratóriumi szolga №10 ...).
- Kommunikáció a fájl egy stream: felvétel a patak; olvasni a patak; flow control állapotban.
Hogy írjon a patak C ++ módszer write:
basic_ostream<_Elem, _Tr> write (const char_type * _Str, streamsize _Count);
Olvasni a patak olyan módszerrel olvasható:
basic_istream<_Elem, _Tr> olvasni (const char_type * _Str, streamsize _Count);
_Count szám kimenet (input) a byte stream
_Str kiadott szimbólumokat (input) az (a) az áramlás (a)
Véletlen elérésű fájl végzi beállította az aktuális pozíció a fájl mód:
áramokkal megnyitott bemenet:
basic_istream<_Elem, _Tr> seekg (pos_type _Pos);
basic_istream<_Elem, _Tr> seekg (off_type _Off, ios_base :: seekdir _Way);
írva, így nyitva áramlások kiadandó C ++:
basic_ostream<_Elem, _Tr> seekp (pos_type _Pos);
basic_ostream<_Elem, _Tr> seekp (off_type _Off, ios_base :: seekdir _Way);
_Pos pozícióját a patak olvasni (byte-szám)
_Off elhelyezkedés _Way.
_Way egyik ios_base transzferek (Kezdő, akt, vége):