Q&A

  • pos() 함수 사용할려고 보니까...
pos() 함수는 string 에서 특정 문자를 찾는 함수인데요.

제일 첫번째 있는 위치를 리턴하더군요.

저는 이 기능에 현재 찾은 위치에서 그 다음에 위치하고 있는 문자의 위치를
알고 싶은데...

어디 어디에서부터 검색을 시작해라..그런 인수 주는게 없는거 같던데..
무조건 처음부터 검색을 시작하니 첫번째것만 검색이 되어서요...

해결책이 없을까요?
1  COMMENTS
  • Profile
    한원희 2002.10.15 05:22
    안녕하세요. 한원희입니다.

    pos 함수를 사용하면 그렇습니다.
    굳이 pos 함수를 사용하시겠다면, 해당 위치까지 잘라낸 다음 다시 pos 함수를 이용해서 다음 위치의 문자열을 구할 수도 있겠지만, 잘라낸 후의 위치 변화등을 계산해야하기 때문에 상당히 복잡해질 뿐더러, 속도를 요하는 프로그램이라면, 성능(복사 및 비교 작업이 매우 많이 수행되기 때문에)이 크게 떨어지게 됩니다.

    여기 자료실에 찾아보면, FastStrings이라는 문자열 관련 유닛이 있을 겁니다. 그 유닛 안에 FastPos 라는 함수가 있는데, 이게 원하는 방식으로 동작할 수 있도록 구현되어 있습니다.

    그 외에도 여러 유용한 함수들이 들어 있고, 모든 함수들이 어셈블리로 작성되어서 속도도 아주 빠릅니다. ^^;

    그럼, 즐코~