Comment puis-je écrire à partir d'un fichier dans la mémoire partagée à l'aide de l'API Win32?Ecriture en mémoire partagée
Je possède ce code:
hFile = CreateFile("input.map",
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
hMapFile = CreateFileMapping(hFile,
NULL,
PAGE_READWRITE,
0,
0,
TEXT("SharedObject"));
lpMapAddress = (LPTSTR) MapViewOfFile(hMapFile,
FILE_MAP_ALL_ACCESS,
0,
0,
0);
ReadFile(
hFile,
lpMapAddress,
75,
&bytesRead,
NULL);
sprintf((char*)lpMapAddress, "<output 1>");
printf((char*) lpMapAddress);
Cependant, l'appel printf retourne uniquement "< sortie 1>" et non le contenu du fichier.
EDIT: a trouvé le problème. J'écris dans le fichier d'entrée quand j'appelle sprintf. Mais je ne sais toujours pas pourquoi ...
Cela a aidé! Utilisé strcat() à la fin. – pypmannetjies