如何在linux中使用POSIX API发送带有消息队列的整数?

ero*_*gol 2 linux ipc message-queue

我尝试通过 msg 队列发送整数,但函数 mq_send(mq, &val , sizeof(val), 0); 仅适用于 char 类型指针,因此有什么方法可以将整数发送到具有另一个函数或相同函数的队列。

问候...

sdg*_*sdg 5

在这种情况下,不要将char*作为唯一允许的数据类型读取。

许多 *ix API 使用 char 作为通用缓冲区指针。

因此,将接口视为获取指向缓​​冲区的指针和缓冲区的大小。

该缓冲区可以是您喜欢的任何内容,从单个 int 到结构体、类的序列化字符串表示形式,或者几乎是内存中的任何其他内容。

int i;
mq_send(mq, (char *) &i, sizeof(i), 0);
Run Code Online (Sandbox Code Playgroud)

应该工作(未测试)

祝你好运