【发布时间】:2015-09-19 22:01:16
【问题描述】:
我正在聊天,当有人输入“%s”或“%s%s%s”时,每个人的客户端都会崩溃,这就是我的做法。
const char* pszID = their id
const char* pszName = their name
const char* pszChatText = their raw message
if (!pszID || !pszName || !pszChatText)
return;
std::string strChat;
strChat.append("[");
strChat += pszID;
strChat.append(" :: ");
strChat += pszName;
strChat.append("] ");
strChat += pszChatText;
SendToServer(strChat.c_str());
所以如果他们进入 %s%s%s pszChatText 为 %s%s%s 并崩溃。
但我希望它像平常一样,
[A48AJV :: thegamerman3000032] %s%s%s
sendtoserver 是崩溃的,它只是一个 const char* 的 printf(),我还检查它是否为空指针
编辑:已修复指南
【问题讨论】:
-
如果客户端在收到消息的时候崩溃了,那么这个bug就在客户端收到消息了。您粘贴的代码与处理接收消息的客户端无关。