⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p11-11.c

📁 SUN Solaris8平台下进程间通信
💻 C
字号:
#include <stdio.h>#include <sys/types.h>#include <sys/ipc.h>#include <sys/msg.h>#include "err_exit.h"int main(void){    key_t  key, msgflg;      /* 传递给msgget的key值和标志*/    int  perm_flags, flags;  /* 读写许可权限和创建标志 */    int  msqid;              /* msgget的返回值 */    /* 输入key值 */    printf("Enter the disired key in hex = ");    scanf("%x",&key);    /* 输入八进制读写许可权限 */    printf("\nEnter the operation permiddipns in octal = ");    scanf("%x",&perm_flags);    /* 输入创建标志 */    printf( "\nEnter corresponding number to set the disired flags:\n");    printf( "No flags    = 0\n");    printf( "IPC_CREAT   = 1\n");    printf( "IPC_EXCL    = 2\n ");    printf( "IPC_CREAT and IPC_EXCL = 3\n");    printf( "Flags = ");    scanf("%d",&flags);    /* 检查输入值 */    printf( "\nkey =0x%x, perm_flags = 0%o, flags = 0%o\n",             key, perm_flags, flags);    /* 形成msgget的第二参数 */    switch(flags){    case 0:       /* 没有指定标志 */        msgflg = (perm_flags | 0);        break;    case 1:       /* 要求设置IPC_CREAT标志 */        msgflg = (perm_flags | 0);        break;    case 2:       /* 要求设置IPC_EXCL标志 */        msgflg = (perm_flags | 0);        break;    case 3:       /* 要求设置IPC_EXCL和IPC_EXCL标志 */        msgflg = (perm_flags | 0);    }    /* 调msgget打开消息队列 */    printf( "\nmsgget: Calling msgget(%#lx, %#o)\n", key, msgflg);    if ((msqid = msgget(key, msgflg)) == -1)        err_exit("The msgget failed");    else {        printf( "The msgget succeeded: msqid = %d\n", msqid);        exit(0);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -