Įvedimo ir išvedimo operacijos: darbas su failais Martynas Maciulevičius IT2
Turinys Failai „Windows“ sistemoje (GUI) Failai „Windows API“ Paprastas failų IO Memmory-Mapped failų IO Asinchroninis failų IO Handle
Failai „Windows“ sistemoje Failų tipai Failų atributai a.txt
Handle‘ai Handle – abstrakti nuoroda į resursą Handle naudojimas Windows’uose Le handle
Handle naudojimas DWORD WINAPI GetFileSize( HANDLE hFile, - LPDWORD lpFileSizeHigh );
Failų kūrimas HANDLE WINAPI CreateFile( LPCTSTR lpFileName, DWORD dwDesiredAccess, //rwx DWORD dwShareMode, //rw0 - LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, //-> DWORD dwFlagsAndAttributes, //->> - HANDLE hTemplateFile );
DWORD dwCreationDisposition CREATE_ALWAYS CREATE_NEW OPEN_ALWAYS OPEN_EXISTING TRUNCATE_EXISTING //(only with w)
DWORD dwFlagsAndAttributes FILE_ATTRIBUTE_HIDDEN FILE_ATTRIBUTE_NORMAL FILE_ATTRIBUTE_READONLY FILE_ATTRIBUTE_TEMPORARY ...
Failo skaitymas / rašymas BOOL WINAPI WriteFile( //ReadFile HANDLE hFile, LPCVOID lpBuffer, // buferis DWORD nNumberOfBytesToWrite, // Read - LPDWORD lpNumberOfBytesWritten,// Read - LPOVERLAPPED lpOverlapped );
Failo uždarymas BOOL WINAPI CloseHandle( HANDLE hObject );
Memmory-Mapped būdas Nuskaitomas pilnas failas Reikšmės atmintyje pakeičiamos Įrašoma Gerai ar blogai?
Overlapped skaitymo būdas Sinchroninis: kai skaitoma paprastai // up Asinchroninis: „užsakoma“ ir po nuskaitymo gaunamas pranešimas BOOL WINAPI WriteFile( //ReadFile HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ); H ->
Klausimai