Hallo zusammen. Möglicherweise ist die Lösung sehr banal, aber ich hab es bis jetzt noch nicht rausgefunden. Ich habe einen Pointer ptr den ich mittels shmat auf die shared memory eingehängt habe. Jetzt brauche ich aber eine echte Kopie von von dem Ganzen. Wie mache ich das? Lg Stefan
Wenn du die Daten kopieren willst, die im SHM stehen, geht das am einfachsten mit memcpy(dest, source, size);
irgendetwas mach ich falsch! sollte doch so passen oder?
1 | char *copy, *ptr; |
2 | int shmid; |
3 | |
4 | shmid = shmget(2021, 10, IPC_CREAT | PERMISSION) |
5 | |
6 | ptr = shmat(shmid, 0, 0); |
7 | |
8 | memcpy(copy, ptr, sizeof(char)*10); |
Vor dem memcpy fehlt noch ein char * copy = malloc(10);
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.