0
所以我的msgrcv()
函數調用非常好用,但它增加了從其他進程收到的字符。C - msgrcv爲接收到的消息添加字符,非常奇怪
當發送進程發送你好,接收機處理接收你好@ \ n或你好\ n @或你好@,因爲它打印不同的東西隨機地,這是很難欺騙修復與一些字符修剪。
代碼:
if (msgrcv(clientQueueID, &msg, sizeof(msg.data), 0, 0) == -1)
{
// No message received from client
}
else
{ .........
在這種情況下,印刷msg.data表明其具有附加額外的字符。
這是我如何打印:
printf("RECEIVED MESSAGE LENGTH %d: '%s'\n", (int)strlen(msg.data), msg.data);
任何人有任何想法,爲什麼發生這種情況?