- 论坛徽章:
- 0
|
共享存储的问题!!
- #define PERM S_IRUSR|S_IWUSR
- int main(int argc,char **argv)
- {
- int shmid;
- char *p_addr,*c_addr;
- if(argc!=2)
- {
- fprintf(stderr,"Usage: %s\n\a",argv[0]);
- exit(1);
- }
- if(fork())
- {
- p_addr=shmat(shmid,0,0);
- memset(p_addr,'\0',1024);
- strncyp(p_addr,argv[1],1024);
- }
- else
- {
- c_addr=shmat(shmid,0,0);
- printf("Client get %s",c_addr);
- exit(0);
- }
- shmctl(shmid,IPC_RMID,0);
- exit(0);
- }
复制代码
其中父进程将argv[1]写入共享区中,子进程打印出这个argv[1],不过每次编译只能够显示Client get,后面无值??
如果让子进程将argv[1]写入共享区中,父进程打印出这个argv[1],试验是成功的,不知道为什么?? |
|