如何在linux中使用POSIX API发送带有消息队列的整数?
Posted
技术标签:
【中文标题】如何在linux中使用POSIX API发送带有消息队列的整数?【英文标题】:How to send integer with message queue with POSIX API in linux? 【发布时间】:2011-07-11 22:45:17 【问题描述】:我尝试通过 msg 队列发送整数,但函数 mq_send(mq, &val , sizeof(val), 0);仅适用于 char 类型指针,所以有什么方法可以将整数发送到另一个函数或相同函数的队列中。
问候...
【问题讨论】:
【参考方案1】:在这种情况下,不要将 char* 读取为唯一允许的数据类型。
许多 *ix API 使用 char 作为通用缓冲区指针。
因此将界面视为采用指向缓冲区的指针和缓冲区的大小。
该缓冲区可以是您喜欢的任何内容,从单个 int 到您的类的结构、序列化字符串表示,或内存中的任何其他内容。
int i;
mq_send(mq, (char *) &i, sizeof(i), 0);
应该可以工作(未经测试)
祝你好运
【讨论】:
以上是关于如何在linux中使用POSIX API发送带有消息队列的整数?的主要内容,如果未能解决你的问题,请参考以下文章
POSIX 或 Linux API 函数从路径获取文件扩展名
如何在 C# 中使用带有服务帐户的 gmail api 或 google Oauth 来发送邮件?