当前位置:  技术问答>linux和unix

关于msgsnd函数的参数

    来源: 互联网  发布时间:2016-03-15

    本文导语:  设消息结构体为 typdef struct{     long msg_type;     char msg_buf[bufsize]; }msg; 调用msgsnd函数时,第三个参数nbytes = sizeof(msg)还是=strlen(msg.msg_buf)? 第三个参数的函义是什么啊?  | The structure member mtext...

设消息结构体为
typdef struct{
    long msg_type;
    char msg_buf[bufsize];
}msg;

调用msgsnd函数时,第三个参数nbytes = sizeof(msg)还是=strlen(msg.msg_buf)?

第三个参数的函义是什么啊? 

|

The structure member mtext is any text of length msgsz bytes. The argument msgsz can range from 0 to a system-imposed maximum.

|
好像是传输数据的内容不够吧~~

比如:你送的字符串 “1234567890” 长度10

或者               “1234567890” 长度sizeof(char)

结果肯定不能一样吧~~~~~


|
msgsnd有4个参数,相信前2个你已经没问题了

关键在后2个。

int msgsnd (int msqid, struct msgbuf* msgp, int msgsz, int msgflg);

msgsz是结构体msg_buf的长度(就是bufsize),msgflg一般设成IPC_NOWAIT,意思是没有信息立即返回

自己写个例子,就知道了~~~~

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • [请教]msgsnd()返回ENOTTY错误,如何解决?
  • IPC 通信中的msgsnd,msgrcv 中的msgsz到底取什么值呢?
  • uClinux 上 使用 msgget, msgsnd, msgrcv 问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3