1

我正在摆弄邮槽,现在遇到了问题。每当我尝试运行时,我都会在标题中收到错误消息,但我不知道应该如何修复它。我想要做的是“修复”邮槽的完整路径,但它似乎不像 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链接到错误

编辑:将 strlen 更改为 sizeof 只是将错误更改为“缓冲区大小太小”。

4

1 回答 1

2

请参阅有关strcat_s的文档。它说第二个参数应该是目标缓冲区的大小。当您通过strlen(fullName)时,没有终止的余地\0

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

于 2015-01-26T20:42:01.963 回答