Sdílet prostřednictvím


AfxExtractSubString

Extrahovat podřetězec z dané zdrojové řetězce lze tuto globální funkce.

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

Parametry

  • rString

    • Chcete-li odkazovat CString objekt, který bude přijímat jednotlivé podřetězce.
  • lpszFullString

    • Řetězec obsahující úplný text z řetězce.
  • iSubString

    • Z nuly vycházející index podřetězce z lpszFullString.
  • chSep

    • Oddělovací znak použitý k oddělení dílčích řetězců.

Vrácená hodnota

TRUE -li funkci úspěšně extrahuje podřetězec na zadaný index; jinak FALSE.

Poznámky

Tato funkce je užitečná pro extrahování více podřetězce z zdrojový řetězec při známé znak odděluje každý podřetězec.Tato funkce hledá od začátku lpszFullString parametr pokaždé, když je volána.

Tato funkce vrací hodnotu FALSE, pokud buď lpszFullString je nastavena na NULL nebo funkci skončí lpszFullString bez zjištění iSubString+ 1 výskytů znaku zadaného oddělovače.rString Parametr nesmí být měněno z původní hodnotu, pokud lpszFullString byl nastaven na NULL; jinak rString parametr nastaven na prázdný řetězec, pokud nelze extrahovat podřetězec zadaném indexu.

Příklad

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

Požadavky

Záhlaví: <afxwin.h>

Viz také

Koncepty

MFC – makra a globální prvky

Další zdroje

Pomocí CString