영어가 모국어가 아니기 때문에 무엇을 부르는 지 정확히 모르겠습니다. 제가 개발중인 것은 숙제를 위해 winsock2.h를 사용하는 간단한 채터 프로그램입니다.입력 명령 만들기 (이름을 지정해야할지 모르겠 음)
내가 붙어있는 것은 명령을 내리는 것입니다. 예를 들어, 사용자가 cin 스트림에 '/ u username'을 입력하면 사용자의 사용자 이름을 설정 한대로 변경할 수 있기를 원합니다.
현재 사용자 유형을 서버에 보내고 서버가 C 문자열을 어떻게 처리할지 결정하도록합니다.
이 경우 내 서버에 '/ u username/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);
}
입력을 토큰 화하려는 것처럼 들립니다. – shuttle87
@ shuttle87 strtok가 c 문자열을 토큰 화한다는 내용을 읽었지만 실제로 의미하는 바가 전혀 없습니다. – user2418426
토큰 화 도구는 문자열을 가져 와서 별도의 부분으로 분리하여 토큰을 호출합니다. 그래서 여러분은 명령과 인자를 가진 문자열을 구분 기호 (이 경우에는 공백)로 구분합니다. 따라서'/ u username'을 사용하면 이것을 토큰'/ u'과'username'으로 분리하고 싶을 것입니다. 입력을 처리하는 것이 훨씬 쉽습니다. 명령 유형의 첫 번째 토큰을 확인한 후 다음 토큰에서 원하는 것을 추출하면됩니다. – shuttle87