Adjuk std_error_handle (dword) -12

A laboratóriumi munka kiosztás:

1. vizsgálja meg a rendszer működését MS Windows szabványos input-output.

2. hozzon létre egy program segítségével a vizsgált függvények utasítása szerint a tanár.

Lab № 2

Alapvető eszközök fájlrendszerek

Ahhoz, hogy teljes mértékben kihasználja a fájlrendszer eszközzel kell rendelkeznie, hogy bármilyen fájlt a programban meghatározott. Mert olvasni egy fájlt vagy írjon a kívánt érték egy fogantyú társított fájlt. fájlkezelő hogy megkapta a Windows rendszer működését CreateFile. Munkavégzés a fájlrendszer funkció befejeződött CloseHandle.

CreateFile funkció használható a tényleges létrehozása és különösen megnyitni egy létező fájlt. Megjegyzendő, hogy az MS Windows, van két változata funkciók létrehozása és nyissa meg a fájlt az utolsó kivételével további betű vagy W. Az első lehetőség megfelel a szabványos ANSI karakterkódolás és a második - az Unicode. A második lehetőség magában nem egy, hanem két byte minden karakter. Abban a pillanatban, használjuk a konzervatív változata ANSI.

FOGANTYÚ CreateFile (LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAttributes, fogantyú hTemplateFile);

ahol lpFileName állítja egy mutatót a fájl neve, dwDesiredAccess - kódja a kívánt hozzáférési, dwShareMode - mód kódosztásos dolgozik a fájlt, lpSecurityAttributes - egy mutatót a fájl védelem attribútum dwCreationDisposition - műveleti kód a fájl végrehajtása során ezt a funkciót, dwFlagsAttributes - attribútum zászlók, hTemplateFile - kezelni a sablon fájlt kiterjesztett attribútumokat.

DwFlagsAttributes paraméter határozza meg az attribútum a megnyitni kívánt fájlt. külön bit-et használnak ezzel a tulajdonsággal. Normal (normál) fájl attribútum értéke 0, akkor a fájl csak olvasható - 1 attribútumot, a rejtett fájlok - Képesség értéke 2, a rendszer fájl - attribútuma 4. A leggyakoribb ezzel a paraméter lehet egy szimbolikus konstans FILE_ATTRIBUTE_NORMAL. Kódolására fájlnév megnyitása, a két szimbolikus állandók GENERIC_READ és GENERIC_WRITE rendre meghatározó engedélye olvasni és írni a fájlt. Ezeket fel lehet használni együtt kombinálásával (vagy logikai művelet) az egyik paraméter dwDesiredAccess. vagy külön-külön. Fájlok megosztása meghatározott szimbolikus konstans FILE_SHARE_READ és FILE_SHARE_WRITE, amely szintén kombinálható egyetlen paraméter, ha szükséges. Annak beállításához, tevékenységüket a fájl szimbolikus állandók CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS, TRUNCATE_EXISTING, amelyeket nem lehet kombinálni egy dwCreationDisposition paramétert. és fel kell használni külön-külön. Állandó CREATE_NEW vezet az a tény, hogy ha a megadott fájl már létezik, akkor a függvény hibát jelez. Állandó CREATE_ALWAYS létrehozását igényli a fájl mindig, még akkor is cserélni egy meglévő, és a tartalmát a régi fájl elveszett. Állandó OPEN_EXISTING igényel csak megnyitni egy létező fájlt, ha a fájl a megadott név nem létezik, akkor a függvény hibát jelez. Állandó OPEN_ALWAYS vezet az a tény, hogy egy létező fájl megnyitásakor, és ha a fájl nem létezik, akkor létrejön. Állandó TRUNCATE_EXISTING vezet a következő műveleteket: ha a fájl létezik, akkor nyitva van, ami után a hossza a fájl nullára van állítva, a fájl tartalma elvész; Ha a fájl nem létezik, akkor a függvény hibát jelez.

Bezárásához fájlt, használja a CloseHandle funkciót. céljából, amely sokkal szélesebb, mint a funkció, az ügy lezárásáról más operációs rendszerekre. Ez a funkció egy prototípus

BOOL CloseHandle (fogantyú hObject),

ahol ebben a példában, ahelyett, hogy egy fogantyút tetszőleges objektum fájl markolatot használjuk. Logikai érték, a függvény visszatérési annak megállapítására, hogy zárja be a fogantyút nem sikerült.

Példa a figyelembe vett funkciók szemlélteti a következő példa:

0 #define MÓDSZER