我正在聊天,当有人进入“%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(),我也检查它是否为空指针
编辑:修正了指南