#18. 간단한 어휘 분석의 구현

일반적으로 문자열을 파싱한다는 이야기가 많이 있습니다. 파싱이란 해석 작업을 이야기하는데 굉장히 어려운 프로그래밍 작업 중 하나입니다. 하지만 이것과는 개념이 조금 다르지만 기본적인 동작이 유사한 작업으로 Tokenize라는 것이 있습니다. Tokenize는 말 그대로 토큰 단위로 분할한다는 뜻입니다. 토큰이란, 공백 단위로 나누어진 단어를 가리키는 말이니 그리 신경쓰실 필요는 없습니다. 실전에서 프로그래밍할 때에 여러분은 Tokenize에 대하여 굉장히 많은 어려움을 느끼게 됩니다만, 쉽게 처리할 수 있는 함수를 알려드리고자 합니다. 본 함수는 MSDN 라이브러리 상에는 설명이 전혀 없습니다. (VS 6.0 MSDN 라이브러리 기준) 하지만, 이것은 실존 함수입니다.


BOOL AfxExtractSubString();


비교하시고 싶은 문자열이 올바르게 비교되면 TRUE를, 올바르게 비교되지 않으면 FALSE가 내보내지기 때문에 진리 여부만 판별하여 조건문을 작성하시면 유용합니다.


이 함수의 각 인수는 다음과 같습니다.



  • BOOL AfxExtractSubString(CString, LPTSTR, UINT, CHAR);

    • CString : 추출된 문자열을 담을 CString 변수를 지정합니다.
    • LPTSTR : 비교하고 싶은 문자열을 입력합니다.
    • int : 구분 문자열이 여러개가 있을 때 몇 번째 단어에서 추출할지를 결정합니다. 0부터 시작하는 수입니다.
    • CHAR : 구분 문자열을 지정합니다. 한글자만 입력하셔야 하며 문자열은 사용할 수 없습니다.  

댓글 남기기