Aracılığıyla paylaş


AfxExtractSubString

Bu genel işlevi, alt dize içinden verilen kaynak dizesi ayıklamak için kullanılabilir.

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

Parametreler

  • rString

    • Başvuru için bir CString nesnesi tek bir dize alır.
  • lpszFullString

    • Tam metin ayıklamak için dize içeren dize.
  • iSubString

    • Sıfır tabanlı dizini ayıklamak için alt dize lpszFullString.
  • chSep

    • Alt dizeler sınırlandırmak için kullanılan ayırıcı karakteri.

Dönüş Değeri

DOĞRU ; sağlanan dizin alt dize işlevi başarıyla ayıkladıysanız Aksi takdirde, yanlış.

Notlar

Bu işlev, bilinen tek bir karakteri her alt dize ayırır, birden çok alt dizelerin kaynağı dizeden ayıklanması için yararlıdır.Bu işlev arar başından lpszFullString parametresi her zaman olarak adlandırılır.

Ya da, bu işlev false döndürür lpszFullString ayarlamak null veya işlevi sonuna ulaştığında lpszFullString bulma olmadan iSubString+ 1 geçtiği belirtilen ayırıcı karakteri.rString Parametresi değişiklik özgün değeri, lpszFullString ayarlandığı null; Aksi takdirde, rString parametre ayarlanmışsa boş dize dize için belirtilen dizine ayıklanmasını değil.

Örnek

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

Gereksinimler

Üstbilgisini: <afxwin.h>

Ayrıca bkz.

Kavramlar

mfc makrolar ve Globals

Diğer Kaynaklar

CString kullanma