Freigeben über


AfxExtractSubString

Diese globale Funktion kann verwendet werden, um eine Teilzeichenfolge aus einer angegebenen Quellzeichenfolge zu extrahieren.

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

Parameter

  • rString

    • Verweis auf ein CString-Objekt, das eine einzelne untergeordnete Zeichenfolge empfängt.
  • lpszFullString

    • Eine Zeichenfolge, die den Text der Zeichenfolge enthält, die von zu extrahieren.
  • iSubString

    • Nullbasierter Index der vom LpszFullString Teilzeichenfolge extrahiert werden soll.
  • chSep

    • Trennzeichen verwendet, um Teilzeichenfolgen abzugrenzen.

Rückgabewert

TRUE, wenn die Funktion erfolgreich die Teilzeichenfolge am angegebenen Index extrahierte; andernfalls FALSE.

Hinweise

Diese Funktion dient zum Extrahieren von mehreren Teilzeichenfolgen aus einer Quellzeichenfolge nützlich, wenn ein bekanntes einzelnes Zeichen jede Teilzeichenfolge trennt.Sucht dieser Funktion vom Anfang des Parameters lpszFullString jedes Mal, wenn er aufgerufen wird.

Diese Funktion gibt FALSE zurück, wenn lpszFullString zu NULL festgelegt ist oder die Funktion zum Ende von lpszFullString erreicht, ohne iSubString zu suchende +1 Vorkommen des angegebenen Trennzeichens.Der Parameter wird nicht rString von seinem ursprünglichen Wert geändert, wenn lpszFullString zu NULL festgelegt wurde. Andernfalls wird der rString-Parameter die leere Zeichenfolge festgelegt, wenn die Teilzeichenfolge nicht für den angegebenen Index extrahiert werden konnte.

Beispiel

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

Anforderungen

Header: <afxwin.h>

Siehe auch

Konzepte

MFC-Makros und -globale Werte

Weitere Ressourcen

Verwenden von CString