나는, 문자열에서 같은 것을 데이터를 제거하기 위해 노력하고있어 : 내가 아는sscanf에서 알려진 단어를 어떻게 무시합니까?
char * fromSocket = "GET /test.html HTTP 1.0\n""Host: www.example.com\n""Client: 127.0.0.1:60000\n";
, 즉이 경우 "HTTP 1.0" "호스트에서"와 "클라이언트"와 사이에 세미콜론 클라이언트 IP와 포트가 항상있을 것입니다. 나는이 같은 sscanf를()를 사용하려고 해요 :
sscanf(conString, "%s %s HTTP 1.0 Host: %s Client: %s:%s", com, loc, hos, cli, port);
을하지만이를 사용하여 출력을 테스트 할 때 :
printf("%s %s %s %s %s\n", com, loc, hos, cli, port);
나는 널 (NULL)의 무리를 얻을. 나는 존재하는 특정 단어를 어떻게 무시합니까? 나는 몇몇 페이지를 온라인에서 보았지만, 1.0은 스캐너를 던지거나 어떤 것을 던 졌다고 생각한다. 감사!
당신은없는 것으로 나타'[\ R] \ n' 및 HTTP/1.0''에서 슬래시. HTTP 파서를 사용하십시오! – Ryan
데이터가 fromSocket에있을 때 conString을 보는 이유는 무엇입니까? – user3629249
을 테스트하려면 scanf 함수의 반환 값을 확인하여 성공적으로 수행 된 변환 수를 확인하십시오. 형식 문자열에서 처음 '% s'을 (를) 얻기 위해 시작하는 것이 좋습니다. 그런 다음 문제가 발견 될 때까지 거기에서 작업하십시오. – user3629249