Как отправить целое число с очередью сообщений с POSIX API в Linux? - PullRequest
2 голосов
/ 09 марта 2011

Я пытаюсь отправить целое число в очереди сообщений, но функция mq_send (mq, & val, sizeof (val), 0); работает только для указателя типа char, поэтому есть ли способ отправить целое число в очередь с другой функцией или той же функцией.

Привет ...

1 Ответ

4 голосов
/ 28 марта 2011

Не считывайте char * в этом случае как единственный допустимый тип данных.

Многие * ix API используют char в качестве общего указателя буфера.

Посмотрите на интерфейс как указатель на буфер и размер буфера.

Этим буфером может быть все, что угодно, от единственного целого, до структуры, разделенного на строки представления вашего класса, или просто что-нибудь еще в памяти.

int i;
mq_send(mq, (char *) &i, sizeof(i), 0);

Должен работать (не проверено)

Удачи

...