Udostępnij za pośrednictwem


AfxExtractSubString

Tej funkcji globalnych, można wyodrębnić podciąg z ciągu danego źródła.

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

Parametry

  • rString

    • Odniesienie do CString obiekt, który otrzyma poszczególnych podciąg.
  • lpszFullString

    • Ciąg zawierający pełny tekst ciąg, aby wyodrębnić z.
  • iSubString

    • Indeksu podciągu wyodrębnić z lpszFullString.
  • chSep

    • Znak separatora rozdzielał podciągów.

Wartość zwracana

TRUE , jeśli funkcja pomyślnie wyodrębnione podciągu w indeksie dostarczone; w przeciwnym razie FALSE.

Uwagi

Ta funkcja jest użyteczna dla wyodrębnianych wiele podciągów z łańcucha źródłowego, jeśli znane pojedynczy znak oddziela Każdy podciąg.Funkcja przeszukuje począwszy od lpszFullString parametr przy każdym nazywa się go.

Funkcja zwróci FALSE, jeśli albo lpszFullString jest ustawiona na NULL lub funkcji dobiega końca lpszFullString bez ustalenia iSubString+ 1 wystąpień znaku separatora określony.rString Parametr nie będzie modyfikowana z pierwotną wartość, jeśli lpszFullString została ustawiona na NULL; w przeciwnym razie rString parametr jest ustawiony na pusty ciąg, jeżeli podciąg nie może być wyodrębnione dla określonego indeksu.

Przykład

// 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);
}

Wymagania

Nagłówek: <afxwin.h>

Zobacz też

Koncepcje

Makra MFC i Globals

Inne zasoby

Przy użyciu CString