小编use*_*261的帖子

我无法在C中读取共享内存

我有一个包含两个进程和两个文件的程序,我想用共享内存读取第二个文件的代码的var,但我只得到"测试"字,而不是文本.程序的第一个文件的代码:

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);
          }
Run Code Online (Sandbox Code Playgroud)

和第二个文件的代码:

a=shmget(key, 200, 0666);
text=shmat(a,0,SHM_RDONLY);
printf("testing, %s", text);
Run Code Online (Sandbox Code Playgroud)

任何的想法?谢谢.

c shared-memory

3
推荐指数
1
解决办法
284
查看次数

标签 统计

c ×1

shared-memory ×1