文字ポインタを使用した後に解放しようとしていますが、奇妙なエラーが返されます。
エラーは言う:
_CrtDbgREport: 文字列が長すぎるか、IO エラーです
デバッガー自体は、コンパイル中にエラーを返しません。
コードは現在次のようになっています。
void RespondToUser(SOCKET client, SOCKET server)
{
char buffer[80];
char *temp = malloc(_scprintf("HTTP/1.1 200 OK\r\n%s\r\nServer: %s\r\nConnection: close\r\n\r\nHi!", buffer, SERVER_NAME));
sprintf(temp, "HTTP/1.1 200 OK\r\n%s\r\nServer: %s\r\nConnection: close\r\n\r\nHi!", buffer, SERVER_NAME);
send(client, temp, strlen(temp), 0);
closesocket(client);
free(temp);
ListenToUsers(server);
}
この問題は、メモリから一時ポインターを解放しようとしたときにのみ発生し、それ以外の場合は発生しません。何が原因でしょうか?