다음을 통해 공유


AfxExtractSubString

지정 된 원본 문자열에서 부분 문자열을 추출 하려면이 전역 함수를 사용할 수 있습니다.

BOOL AFXAPI AfxExtractSubString (
   CString& rString,
   LPCTSTR lpszFullString,
   int iSubString,
   TCHAR chSep = '\n'
);

매개 변수

  • rString

    • 참조 하는 CString 개체는 개별 부분을 받게 됩니다.
  • lpszFullString

    • 추출 하려는 문자열의 전체 텍스트를 포함 하는 문자열입니다.
  • iSubString

    • 추출 하는 부분 문자열의 인덱스를 lpszFullString.
  • chSep

    • 부분 문자열을 구분 하는 데 사용 되는 구분 문자입니다.

반환 값

True 이면 함수가 성공적으로; 제공 된 인덱스에 있는 부분 문자열을 추출 하는 경우 그렇지 않으면 FALSE.

설명

이 함수는 단일 문자 알려진된 각 부분 문자열을 구분 하는 경우 원본 문자열에서 여러 개의 부분 문자열을 추출 하기 위한 유용 합니다.이 함수의 시작 부분에서 검색을 lpszFullString 이 호출 될 때마다 매개 변수입니다.

어느 경우이 함수가 FALSE를 반환 합니다 lpszFullString 설정 되어 NULL 또는 함수의 끝에 도달 lpszFullString 찾기 없이 iSubString+ 1 횟수 지정 된 구분자.rString 매개 변수는 수 수정를 원래 값에서 경우 lpszFullString 로 설정 된 NULL; 그렇지 않은 경우는 rString 매개 변수는 빈 문자열로 설정 하는 경우 지정 된 인덱스에 대 한 부분을 추출할 수 없습니다.

예제

// The following example extracts a series of name, value pairs from a
// given source string:

// Input string consisting of a number of name, value pairs
LPCTSTR lpszSource = _T("\"Name\"=\"John Smith\"\n")
   _T("\"Company\"=\"Contoso, Ltd\"\n\"Salary\"=\"25,000\"");

CString strNameValue; // an individual name, value pair

int i = 0; // substring index to extract
while (AfxExtractSubString(strNameValue, lpszSource, i))
{
   // Prepare to move to the next substring
   i++;

   CString strName, strValue; // individual name and value elements

   // Attempt to extract the name element from the pair
   if (!AfxExtractSubString(strName, strNameValue, 0, _T('=')))
   {
      // Pass an error message to the debugger for display
      OutputDebugString(_T("Error extracting name\r\n"));
      continue;
   }

   // Attempt to extract the value element from the pair
   if (!AfxExtractSubString(strValue, strNameValue, 1, _T('=')))
   {
      // Pass an error message to the debugger for display
      OutputDebugString(_T("Error extracting value element\r\n"));
      continue;
   }

   // Pass the name, value pair to the debugger for display
   CString strOutput = strName + _T(" equals ") + strValue + _T("\r\n");
   OutputDebugString(strOutput);
}

요구 사항

헤더: <afxwin.h>

참고 항목

개념

MFC 매크로 전역

기타 리소스

Cstring을 사용 하 여