Bonjour cher developpeur,

j'ai besoin d'aide sur mon programme. Je ne suis pas experte en C ( débutante)

Je cherche à lire, et écrire dans un fichier .csv depuis ma mémoire partagée, mais je ne sais pas comment procéder.

Je travaille sous Windows, et je n'ai pas encore réussi à trouver comment créer ma mémoire partagée, ou son équivalent linux de shm.

Si je me base sur la manière de le créer sous linux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
#include<stdio.h>
#include<sys/shm.h>
#include<sys/stat.h>
int main ()
{
  int segment_id;
  char* shared_memory;
  struct shmid_ds shmbuffer;
  int segment_size;
  const int shared_segment_size = 0x6400;
  /*Allouelesegmentdemémoirepartagée.*/
  segment_id = shmget (IPC_PRIVATE, shared_segment_size,
                       IPC_CREAT | IPC_EXCL | S_IRUSR | S_IWUSR);
  /*Attachelesegmentdemémoirepartagée.*/
  shared_memory = (char*) shmat (segment_id, 0, 0);
  printf ("mémoirepartagéeattachéeàl'adresse%p\n", shared_memory);
  /*Déterminelatailledusegment.*/
  shmctl (segment_id, IPC_STAT, &shmbuffer);
  segment_size = shmbuffer.shm_segsz;
  printf ("tailledusegment:%d\n", segment_size);
  /*Écritunechaînedanslesegmentdemémoirepartagée.*/
  sprintf (shared_memory, "Hello,world.");
  /*Détachelesegmentdemémoirepartagée.*/
  shmdt (shared_memory);
  /*Réattachelesegmentdemémoirepartagéeàuneadressedifférente.*/
  shared_memory = (char*) shmat (segment_id, (void*) 0x5000000, 0);
  printf ("mémoirepartagéeréattachéeàl'adresse%p\n", shared_memory);
  /*Affichelachaînedelamémoirepartagée.*/
  printf ("%s\n", shared_memory);
  /*Détachelesegmentdemémoirepartagée.*/
  shmdt (shared_memory);

  /*Libèrelesegmentdemémoirepartagée.*/
  shmctl (segment_id, IPC_RMID, 0);

  return 0;
}
Je cherche à savoir comment, par la suite, je peux aller ouvrir un fichier csv et charger les données dans ma mémoire partagée.

Merci d'avance pour votre aide.