Udostępnij za pośrednictwem


AfxExtractSubString

Ta funkcja globalna może służyć do Wyodrębnij 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 będzie odbierał poszczególnych podciąg.
  • lpszFullString

    • Ciąg zawierający pełny tekst ciąg do wyodrębniania.
  • iSubString

    • Indeksu z podciąg, aby wyodrębnić z lpszFullString.
  • chSep

    • Znak separatora używany do rozdzielenia podciągów.

Wartość zwracana

TRUE Jeśli funkcja pomyślnie wyodrębnione podciąg od podanego indeksu; w przeciwnym razie FALSE.

Uwagi

Ta funkcja jest przydatna dla wyodrębnianych wiele podciągów z ciąg źródłowy, jeśli znane pojedynczy znak oddziela każdy podciąg.Ta funkcja wyszukuje począwszy od lpszFullString parametr każdorazowo nazywa się.

Funkcja ta będzie zwracać wartość FALSE, jeśli każda lpszFullString jest ustawiona na wartości NULL lub funkcja dobiegnie końca lpszFullString bez ustalenia iSubString+ 1 wystąpień znaku separatora określonego.rString Parametr nie będzie modyfikowana z pierwotną wartość, jeśli lpszFullString był ustawiony na wartości NULL; w przeciwnym razie rString parametr jest ustawiony na ciąg pusty, jeśli nie można wyodrębnić podciągu 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 i funkcje globalne MFC

Inne zasoby

Przy użyciu CString