1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| #include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <tchar.h>
int main()
{ HANDLE mem;
char* buf;
char* nomdufile="c:\\a.txt";
HANDLE file=CreateFile( nomdufile, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, NULL );
if( file == INVALID_HANDLE_VALUE )
{
printf("erreur lors de la creation du file\n" );
return 1;
}
if ((mem = CreateFileMapping(file, // use paging file
NULL, // default security
PAGE_READWRITE, // read/write access
0, // maximum object size (high-order DWORD)
1024, // maximum object size (low-order DWORD)
0))==NULL) {
printf("erreur impossible de cree un fichier mapper");
return 1;
}
/*
* On attache le segment dans la memoire.
*/
if ((buf = (char *) MapViewOfFile(mem, // handle to map object
FILE_MAP_ALL_ACCESS, // read/write permission
0,
0,
1024)) ==NULL ) {
printf("erreur lors de la procedure de mappage du fichier a mapper");
CloseHandle(mem);
CloseHandle(file);
return 0;
}
fgets(buf,1024,stdin);
UnmapViewOfFile(buf);
CloseHandle(mem);
return 1;
} |
Partager