我试图在使用后释放一个字符指针,但它返回一个奇怪的错误。
错误说:
_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);
}
仅当我尝试从内存中释放临时指针而不是其他情况时才会出现此问题。这可能是什么原因造成的?