表达式:(L"String is not null terminated" & & 0)
Expression: (L "String is not null terminated" & & 0)
我正在摆弄邮筒,现在 运行 遇到了问题。
每当我尝试 运行 时,我都会在标题中收到错误消息,但我不知道应该如何修复它。
我想做的是 "fixing" 邮槽的完整路径,但它似乎不喜欢 strcat_s-part.
HANDLE mailslotCreate (char *name) {
char fullName[50] = "\\.\mailslot\";
strcat_s(fullName, strlen(fullName), name);
return CreateMailslot(fullName, 0, TIME_OUT, NULL);
}
编辑:将 strlen 更改为 sizeof 只是将错误更改为 "Buffer size too small"。
参见 strcat_s 上的文档。它说第二个参数应该是目标缓冲区的大小。当您通过 strlen(fullName)
时,没有空间可以终止 [=11=]
。
将其更改为 sizeof(fullName)
,您的错误应该会消失。
我正在摆弄邮筒,现在 运行 遇到了问题。 每当我尝试 运行 时,我都会在标题中收到错误消息,但我不知道应该如何修复它。 我想做的是 "fixing" 邮槽的完整路径,但它似乎不喜欢 strcat_s-part.
HANDLE mailslotCreate (char *name) {
char fullName[50] = "\\.\mailslot\";
strcat_s(fullName, strlen(fullName), name);
return CreateMailslot(fullName, 0, TIME_OUT, NULL);
}
编辑:将 strlen 更改为 sizeof 只是将错误更改为 "Buffer size too small"。
参见 strcat_s 上的文档。它说第二个参数应该是目标缓冲区的大小。当您通过 strlen(fullName)
时,没有空间可以终止 [=11=]
。
将其更改为 sizeof(fullName)
,您的错误应该会消失。