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>