send.c
来自「这个是学习嵌入式开发的重要例子」· C语言 代码 · 共 66 行
C
66 行
#include <stdio.h>#include <stdlib.h>#include <mqueue.h>#include <string.h>#include <errno.h>#define MQUEUE_NAME "/mqueue.test.1"int main(int argc, char **argv){ if (argc < 4) { fprintf(stdout, "Usage: %s <name> <pri> <message>\n", argv[0]); exit(1); } mqd_t mqd;#if 0 type = struct mq_attr { long int mq_flags; long int mq_maxmsg; long int mq_msgsize; long int mq_curmsgs; long int __pad[4]; }#endif struct mq_attr attr; memset(&attr, 0, sizeof(attr)); //attr.mq_flags = attr.mq_maxmsg = 10; attr.mq_msgsize = 100; //attr.mq_curmsgs = //mqd_t mq_open(const char *name, int oflag, ...); //mqd_t mq_open(char *name, int flags, int mode, struct mq_attr *attr); if ((mqd = mq_open(argv[1], O_WRONLY)) == (mqd_t) - 1) { fprintf(stderr, "mq_open() failed: %s\n", strerror(errno)); exit(1); } fprintf(stdout, "mq_open() successed.\n"); // Upon successful completion, the mq_send() and mq_timedsend() functions shall return a value of zero. // Otherwise, no message shall be enqueued, the functions shall return -1, and errno shall be set to indi- // cate the error. //int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned msg_prio); if (mq_send(mqd, argv[3], strlen(argv[3]), atoi(argv[2])) < 0) { fprintf(stderr, "mq_send() failed: %s\n", strerror(errno)); exit(1); } fprintf(stdout, "mq_send() successed.\n"); mq_close(mqd); //mq_unlink(MQUEUE_NAME); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?