У меня есть программа с двумя процессами и двумя файлами, и я хочу прочитать var с кодом второго файла по совместной памяти, но я получаю только «тестовое» слово, а не текст. код первого файла программы:Я не могу прочитать общую память в C
a=shmget(key, 200, 0666|IPC_CREAT);
text=(char *)shmat(a,0,0);
text=&words[0];
if ((P2=fork())==1)
{
perror("fork");
exit(-1);
}
if (P2==0)
{
execl("prog2","prog2",NULL);
}
А код второго файла:
a=shmget(key, 200, 0666);
text=shmat(a,0,SHM_RDONLY);
printf("testing, %s", text);
Любая идея? Спасибо.
также 'вилки() == -1' не 1. – Duck