Arkadias
Messages postés6Date d'inscriptionmardi 16 octobre 2007StatutMembreDernière intervention12 novembre 2007
-
16 oct. 2007 à 16:36
Arkadias
Messages postés6Date d'inscriptionmardi 16 octobre 2007StatutMembreDernière intervention12 novembre 2007
-
17 oct. 2007 à 09:51
Bonjour,
Je développe une application ou il sera nécessaire à 2 programmes différents (mais éxecuté sur la même machine) d'échanger les données d'un buffer. Pour ce faire j'ai tenté de me faire un petit programme de test mais j'ai un problème.
Contexte : Un des 2 programmes (qu'on va appeler Prog1) va seulement écrire dans le buffer, Prog2 quand à lui ira seulement le lire.
Problème : J'arrive bien à écrire dans le buffer y a pas de soucis par contre je n'arrive pas à lire le buffer à partir du Prog2.
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 20104 16 oct. 2007 à 17:59
Si c'est juste pour échanger des données pas besoin de fichier tu fais direct :
CreateFileMapping(INVALID_HANDLE_VALUE,...);
pour écrire par ex.
char* pBuffer=(char*)MapViewOfFile(...);
pBuffer[0]='T';
quand tu as fini d'écrire :
UnmapViewOfFile(...);
CloseHandle(...);
et dans l'autre prog.
OpenFileMapping(..);
char* pBuffer=(char*)MapViewOfFile(...);
printf("%c\n",pBuffer[0]);
UnmapViewOfFile(...);
CloseHandle(...);