파일내 단어찾기
글쓴이: ch0nn0m / 작성시간: 목, 2010/10/28 - 9:57오후
아래와 같은 소스로 텍스트 파일을 출력해내면...
buf가 20이므로 20씩 파일에서 읽어올텐데...
buf로 20씩 들어올때마다 찾고자 하는 단어를 찾아내려고 하니...
20씩 읽어오다가 중간에 단어가 잘릴수가 있으므로 정확한 단어검색이 안될것 같더라구요.
어떤 방법들이 있는지 좀 알려주세요.
FILE *fp; char *p; char buf[20]; fp=fopen("text.txt","rt"); ... while(1) { p=fgets(buf,sizeof(buf),fp); if(p=='\0') break; fputs(buf,stdout); }
Forums:
두개에 걸쳐서
두개에 걸쳐서 검색하면 되겠죠
A-B-C-D순서로 버퍼에 들어온다면
A-B에서 검색하고, B-C에서 검색하고, 이런식으로 큐 처럼 운영해서 검색하면 될 겁니다
A-B-C에 전부 걸친 단어가 걱정된다면 큐를 더 길게 운영해야겠죠...
버퍼를 여러칸으로 늘릴 수가 없닫면, 앞 칸의 뒷부분에서 단어의 앞쪽 일부분이 매칭되는 경우가 발생한다면, 그 다음칸에서는 그 단어의 뒤쪽 일부분만을 새로운 "단어"사전에 임시로 넣고서 검색하는 것도 방법이겠죠
--------------------------
피할 수 있을때 즐겨라!
http://snowall.tistory.com
피할 수 있을때 즐겨라! http://melotopia.net/b
단어와 공백을
단어와 공백을 구분하는 방법을 생각해보면 어렵지 않을 것 같습니다.
문자열을 가져와 처리하는 것이 쉽지 않으시다면 한글자씩 가져와 처리해보는 방법을 생각해보세요.
댓글 달기