// FileHandle.cpp : Defines the entry point for the console application. // #include "stdafx.h" #undef UNICODE #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { HANDLE f; f = CreateFile ("C:\\Temp\\abc.txt", // lpFileName, GENERIC_READ | GENERIC_WRITE, // dwDesiredAccess, 0, // dwShareMode, NULL, // lpSecurityAttributes, CREATE_ALWAYS, // dwCreationDisposition, 0, // dwFlagsAndAttributes, NULL); // hTemplateFile if (f == INVALID_HANDLE_VALUE) { cout << "Chyba pri otvirani" << GetLastError () << endl; } else { HANDLE m; m = CreateFileMapping (f, NULL, // lpSecurityAttributes, PAGE_READWRITE, 0, // size high 16*1024, // size low NULL); // name if (m == NULL) cout << "Chyba pri zobrazeni" << GetLastError () << endl; else { cout << "Zobrazeno" << endl; void * p = MapViewOfFile (m, FILE_MAP_READ | FILE_MAP_WRITE, 0, // pos high 0, // pos low 8*1024); // size if (p == NULL) cout << "Chyba pri MapView" << GetLastError () << endl; else { cout << "Mam ukazatel" << endl; char * c = (char *) p; c[0] = 'A'; c[1] = 'B'; c[2] = 'C'; UnmapViewOfFile (p); } CloseHandle (m); } /* char data [80] = "Hello from CreateFile"; int len = strlen (data); BOOL ok; DWORD answer; ok = WriteFile (f, data, len, &answer, NULL); if (ok && answer == len) cout << "Zapis se povedl" << endl; else cout << "Chyba pri zapisu" << endl; SetFilePointer (f, 0, NULL, FILE_BEGIN); char data2 [80]; int len2 = sizeof (data2) - 1; ok = ReadFile (f, data2, len2, &answer, NULL); if (ok) { data2 [answer] = 0; cout << "Data: " << data2 << endl; } else cout << "Chyba pri cteni" << endl; */ CloseHandle (f); } cout << "O.K." << endl; char s [80]; cin >> s; return 0; }