gpt4 book ai didi

c - MessageQueue 名称和消息队列大小

转载 作者:太空狗 更新时间:2023-10-29 12:33:36 26 4
gpt4 key购买 nike

我还有两个问题。1. 如何将消息队列名称作为命令行参数传递?例如我写道:

char src[50] , dest[50];
strcpy(src , "/");
strcpy(dest , argv[1]); // argv[1] is the name of message queue
strcat(dest , src);
char *msgqueue;
strcpy(msgqueue , dest);

但是,它给出了段错误,当我更改为 char msgqueue[50] 时,出现无效错误。

  1. 如何达到消息队列中元素的数量?我尝试了 m_attr.mq_msgsize,但我发现它没有给出答案。

我需要你的帮助,这是我完成作业的最后一步!

谢谢大家!

最佳答案

char *msgqueue; //allocate memory and then copy
strcpy(msgqueue , dest);

  msgqueue=strdup(dest);    

正如 Joachim Pileborg 所建议的那样

如果不需要更多修改,只需msgqueue = dest;

而你想复制argv[1]到消息队列,然后在末尾添加“/”。

char *msgqueue=malloc(strlen(argv[1])+3); //one for null byte and another one for / for safe use one extra byte

strcpy(msgqueue,argv[1]);
strcat(msgqueue,"/");

关于c - MessageQueue 名称和消息队列大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19511035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com