AfxExtractSubString
Tej funkcji globalnych, można wyodrębnić 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 otrzyma poszczególnych podciąg.
lpszFullString
- Ciąg zawierający pełny tekst ciąg, aby wyodrębnić z.
iSubString
- Indeksu podciągu wyodrębnić z lpszFullString.
chSep
- Znak separatora rozdzielał podciągów.
Wartość zwracana
TRUE , jeśli funkcja pomyślnie wyodrębnione podciągu w indeksie dostarczone; w przeciwnym razie FALSE.
Uwagi
Ta funkcja jest użyteczna dla wyodrębnianych wiele podciągów z łańcucha źródłowego, jeśli znane pojedynczy znak oddziela Każdy podciąg.Funkcja przeszukuje począwszy od lpszFullString parametr przy każdym nazywa się go.
Funkcja zwróci FALSE, jeśli albo lpszFullString jest ustawiona na NULL lub funkcji dobiega końca lpszFullString bez ustalenia iSubString+ 1 wystąpień znaku separatora określony.rString Parametr nie będzie modyfikowana z pierwotną wartość, jeśli lpszFullString została ustawiona na NULL; w przeciwnym razie rString parametr jest ustawiony na pusty ciąg, jeżeli podciąg nie może być wyodrębnione 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>