Я не совсем уверен, как это назвать, так как английский не мой родной язык. Я разрабатываю простую программу для болтовни, используя winsock2.h в качестве домашнего задания.
Я застрял на том, чтобы делать команды. Например, когда мой пользователь вводит «/u имя пользователя» в потоке cin, я хочу иметь возможность изменить имя пользователя на то, которое он установил.
В настоящее время я отправляю на сервер все, что вводит пользователь, и позволяю серверу определять, что делать со строками c.
Итак, в этом случае мой сервер получает «/u имя_пользователя/0». Как отделить «/u/0» от строки c и обнаружить ее?
void ServerGame::ProcessTalkLine(char * inStream, unsigned int size, unsigned int id_client)
{
if (size >= 2) //Any commands would need /'character', which is two character or more
{
//I have no idea how to do it....
}
else
sendTalkPackets(inStream, size, id_client);
}
/u username
, вы действительно хотите разделить его на токены/u
, за которыми следуетusername
. Когда вы это сделаете, вам будет намного проще работать с вводом, поскольку вы можете просто проверить первый токен на тип команды, а затем извлечь все, что вам нужно, из следующего токена. - person shuttle87   schedule 09.11.2014