表达式:(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);
}

Imgur link to error

编辑:将 strlen 更改为 sizeof 只是将错误更改为 "Buffer size too small"。

参见 strcat_s 上的文档。它说第二个参数应该是目标缓冲区的大小。当您通过 strlen(fullName) 时,没有空间可以终止 [=11=]

将其更改为 sizeof(fullName),您的错误应该会消失。