- 论坛徽章:
- 0
|
下面的代码 是两个程序!一个输出,一个输入的!
无论先运行哪个 结果都是输出:“shmat error”!
是我的参数 设置错误吗?
#define BUF_SIZE 1024
#define MYKEY 24
int main()
{
int shmid;
char* shmptr;
if((shmid=shmget(MYKEY,BUF_SIZE,IPC_CREAT))==-1)
{
printf("shmget error!\n");
exit(1);
}
if((shmptr=shmat(shmid,0,0))==(void*)(-1))
{
fprintf(stderr,"shmat eror!\n");
exit(1);
}
while(1)
{
printf("string:%s\n",shmptr);
sleep(3000);
}
exit(0);
}
---------------------------------------------------------------------------
第二个进程!
#define BUF_SIZE 1024
#define MYKEY 24
int main()
{
int shmid;
char *shmptr;
if((shmid=shmget(MYKEY,BUF_SIZE,IPC_CREAT))==-1)
{
printf("shmget error!\n");
exit(1);
}
if((shmptr=shmat(shmid,0,0))==(void*)-1)
{
fprintf(stderr,"shmat error!\n");
exit(1);
}
while(1)
{
scanf("input string:%s",shmptr);
}
exit(0);
}
[ 本帖最后由 jqx55ah 于 2008-9-13 01:56 编辑 ] |
|