브라우저 요청을 온라인으로 읽고 buff에 저장한다고 가정 해 봅니다. 나는이 광속에서 방법, url, versoin 같이 어떤 정보를 추출하고 싶다. 그래서 그것을 분할하는 strtok_r 사용하고 싶습니다.strtok_r (buff, " r n", & saveptr);을 사용할 때 브라우저 요청에서 물건을 추출하는 프로세스는 무엇입니까?
요청이 "GET http : // ******** HTTP/1.1"이라고 가정합니다. *********는 웹 사이트 링크입니다. 특정 토큰을 설정하고 다음 코드를 사용하십시오.
cmd = strtok_r(buf1, token, &saveptr);
strcpy(url, strtok_r(NULL, token, &saveptr));
version = strtok_r(NULL, token, &saveptr);
첫째, 토큰을 ""으로 설정 한 경우입니다. 그러면 cmd = "GET", url = "http : // ********"가 표시됩니다. 그러나 VERSION 뒤에는 ""없습니다. 그래서 이것은 문제를 일으킬 수 있습니다.
두 번째로 토큰을 "\ r \ n"으로 설정하면 그런 다음 cmd = "GET http : // ******** HTTP/1.1"을 얻습니다.
올바른 방법으로 토큰을 "\ r \ n"으로 설정할 수 있습니다. 그러나 나는 그 과정을 확신하지 못한다. 아무도 왜이 작품을 설명 할 수 있습니까 ???
[strtok_r]의 문서 (http://linux.die.net/man/3/strtok_r)에이 질문과 관련하여 * 이해하지 못한 * 특정 * 항목이 있습니까? Btw. 누가 각 게시 된 통화에서 * 같은 * 토큰 목록을 사용해야한다고 했습니까? – WhozCraig
토큰을 "\ r \ n"(공백 문자 추가)로 설정하려고 시도합니다. –
질문이 오면 여러 구분 기호'strtok (str, "/");를 사용할 수 있습니다. 이제 공백과 /를 구분 기호로 사용할 수 있습니다 . – Gopi