Freigeben über


AfxExtractSubString

Diese globalen Funktion kann verwendet werden, 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 Teilzeichenfolge empfängt.
  • LpszFullString

    • Eine Zeichenfolge Text der Zeichenfolge auf, um aus zu extrahieren.
  • ISubString

    • Der nullbasierte Index der vom LpszFullString Teilzeichenfolge, zu extrahieren.
  • chSep

    • Trennzeichen verwendet, um Teilzeichenfolgen abzugrenzen.

Rückgabewert

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

Hinweise

Diese Funktion ist für das Extrahieren von mehreren Teilzeichenfolgen in einer Quellzeichenfolge nützlich, wenn ein bekanntes einzelnes Zeichen jede Teilzeichenfolge trennt. Suchen dieser Funktion vom Anfang des lpszFullString-Parameters, wenn sie aufgerufen wird.

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

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, globale Funktionen und globale Variablen

Weitere Ressourcen

Using CString