2011-03-12 9 views
0

다음 코드를 사용하여 HTML 파일에서 이미지 파일 이름을 가져옵니다.C++ Boost의 sregex_token_iterator 충돌이 발생했습니다.

코드는 다음과 어떻게 든 간다 :

std::tr1::regex term=(std::tr1::regex)r; 
const std::tr1::sregex_token_iterator end; 

for (std::tr1::sregex_token_iterator i(s.begin(),s.end(), term); i != end; ++i) 
    { 
    std::cout << *i << std::endl; 
    } 

이미 선언 된 문자열 및 파일의 전체 문자열을 포함합니다.

r은 찾는 정규식 용어가 들어있는 문자열입니다.

이 코드는 실제로 파일에서 값을 올바르게 검색하지만 마지막에 도달하면 충돌합니다. 그것은 token_iterator i와 관련이 있을지 모르지만 그 원인이나 해결 방법에 대한 단서가 없습니다.

답변

-1

정말 이것에 대해 잊어 버렸습니다. 링커와 관련된 외부 문제가 있었기 때문에 알아낼 수 없었습니다. 그러나 코드는 괜찮았다.

1

나는 이미 문제를 해결 알고 있지만, 아래에있는 내 제안을 찾을 수 없습니다 :

  1. 당신은 ++ 나는 내가 ++로 변경하려고 했는가를?
  2. HTML 파일을보고 cout이 보여주는 첫 번째 파일 이름이 실제로 파일의 첫 번째 파일 이름인지 확인 했습니까?

나는 cout의 첫 번째 루프가 HTML 파일에서 두 번째 일치를 인쇄한다고 생각합니다.

이미 해결 된 경우 적용되는 코드를 알려주십시오. 나는 boost regex로 작업 중이며 앞으로 발생할 수있는 문제에 도움이 될 것입니다.

감사합니다,

Tchesko.

관련 문제