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>