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のドキュメントを参照してください。2 番目のパラメーターは宛先バッファーのサイズにする必要があると書かれています。通過strlen(fullName)すると、終了する余地はありません\0

に変更するsizeof(fullName)と、エラーが消えるはずです。

于 2015-01-26T20:42:01.963 に答える