원본 : http://www.debuglab.com/knowledge/stringsearch.html
1.요약
문자열을 검색하는 standard api를 설명.
2.본문
문자열과 일치하는 위치 찾기.
char *strstr( const char *string, const char *strCharSet );
strstr(검색당할문자열, 검색할문자열);
리턴값: 검색당할문자열에서 검색할문자열이 발견된 포인터.
문자열에 포함된 문자가 존재하는 위치 찾기.
char *strpbrk( const char *string, const char *strCharSet );
strstr(검색당할문자열, 검색할문자열);
리턴값: 검색당할문자열에서 검색할문자열중에 일치하는 문자가 발견된 포인터.
3.예제
char string[100] = "이문자열은 3을 포함함.\n"; char * result; result = strpbrk( string, "3을" ); printf( "%s\n", result); /* 출력 */ 3을 포함함. char string[100] = "이문자열은 3을 포함함.\n"; char * result; result = strstr( string, "0123456789" ); printf( "%s\n", result); /* 출력 */ 3을 포함함.
4. 참고
VC++\MFC\SRC 에 보시면 있는 CString 클래스 구현 소스파일을 첨부하였습니다.
아래에 올리는 Find 명령 관련 함수에 위에서 설명된 함수를 사용하고 있네요.
int CString::Find(TCHAR ch, int nStart) const
{
int nLength = GetData()->nDataLength;
if (nStart >= nLength)
return -1;
// find first single character
LPTSTR lpsz = _tcschr(m_pchData + nStart, (_TUCHAR)ch);
// return -1 if not found and index otherwise
return (lpsz == NULL) ? -1 : (int)(lpsz - m_pchData);
}
int CString::FindOneOf(LPCTSTR lpszCharSet) const
{
ASSERT(AfxIsValidString(lpszCharSet));
LPTSTR lpsz = _tcspbrk(m_pchData, lpszCharSet);
return (lpsz == NULL) ? -1 : (int)(lpsz - m_pchData);
}
- 2001.08.13 Smile Seo -
"MFC" 카테고리의 다른 글
- 메인 프래임 윈도우에 얼굴을 부여하기 (0)2007/02/22
- Explorer처럼 툴바에 Text 넣기 (0)2007/02/22
- 문자열 검색 API (0)2007/02/22
- Toolbar안에 다른 Control넣기 (0)2007/02/22
- Winamp 처럼 벽에 붙이기 (0)2007/02/22
Tags 문자열 검색

수안이의 컴퓨터 연구실



Leave your greetings.