我在linux上创建消息队列时遇到了麻烦.我得到的错误是"无效的参数".我要做的另一件事是代码是Qt项目的一部分.
常见的错误是名称不以(/)开头且arg的数量不正确,但我检查了那些!
这是我正在尝试运行的代码:
#define MQ_TEST_PATH "/test_queue"
#define MQ_MAX_MSG_SIZE 256
#define MQ_MAX_MSG_COUNT 20
struct mq_attr mqAttr;
mqAttr.mq_maxmsg = MQ_MAX_MSG_COUNT;
mqAttr.mq_msgsize = MQ_MAX_MSG_SIZE;
mq_unlink(MQ_TEST_PATH);
mode_t mode = S_IRUSR | S_IWUSR;
int oflags = O_WRONLY | O_CREAT | O_EXCL;
mqd_t mqd;
mqd = mq_open(MQ_TEST_PATH, oflags, mode, &mqAttr);
if(mqd < 0){
perror("Error on open");
qDebug()<<mqd;
return 0;
}
mq_close(mqd);
mq_unlink(MQ_TEST_PATH);
Run Code Online (Sandbox Code Playgroud)
输出:
Error on open: Invalid argument
-1
Run Code Online (Sandbox Code Playgroud) 我有以下网址“mysite.com/\\u0422\\u0435\\u043A\\u0441\\u0442 \\u043D\\u0430 \\u043A\\u0438\\u0440\\u0438\\u043B\\u0438\ \u0446\\u0430" ("mysite.com/\xd0\xa2\xd0\xb5\xd0\xba\xd1\x81\xd1\x82 \xd0\xbd\xd0\xb0 \xd0\xba\xd0\xb8\xd1 \x80\xd0\xb8\xd0\xbb\xd0\xb8\xd1\x86\xd0\xb0")。我想使用 browser.open(link) 打开这个 URL,其中 browser 是
\n\n$CHandler = urllib2.HTTPCookieProcessor(cookielib.CookieJar())\nbrowser = urllib2.build_opener(CHandler)\nuser_agent = \' Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17\'\nbrowser.addheaders = [(\'User-agent\', user_agent )]\nurllib2.install_opener(browser)\nRun Code Online (Sandbox Code Playgroud)\n\n但是我收到错误:
\n\n\n\n\nUnicodeEncodeError: \'ascii\' 编解码器无法对位置 12-17 中的字符进行编码:序数不在范围内 (128)"
\n
我从 JSON 中获取此 URL。
\n\n我该如何解决这个问题?
\n