소스 중에 단어 검색을 다음과 같이 진행하고 있습니다.
int sptr = page.find(bodyStart) + bodyStart.length(), eptr = page.find(bodyEnd);
string chk = "";
for (int i = sptr; i<eptr; i++) {
if (page[i] >= 'a' && page[i] <= 'z') chk += page[i];
else {
if (chk == word) db[content].basic++;
chk = "";
}
}
단어 이외의 모든 문자열을 단어를 구분하는 구분자로 사용하므로, a~z일 때(전처리로 모두 소문자로 변형하였습니다.)는 string에 추가해주고, 아닐 때는 매칭되는지만 검사한 후, 검사하는 string을 다시 빈 문자열로 돌려주면 완벽한 단어 매칭을 할 수 있습니다.