AfxExtractSubString
Questa funzione globale può essere utilizzata per disegnare una sottostringa in una stringa di origine specificata.
BOOL AFXAPI AfxExtractSubString (
CString& rString,
LPCTSTR lpszFullString,
int iSubString,
TCHAR chSep = '\n'
);
Parametri
rString
- Riferimento a un oggetto di CString che riceverà una singola sottostringa.
lpszFullString
- Stringa contenente il full-text della stringa per estrarre da.
iSubString
- Indice a base zero della sottostringa da estrarre dal lpszFullString.
chSep
- carattere separatore utilizzato per delimitare le sottostringhe.
Valore restituito
TRUE se il funzionamento estrarre la sottostringa all'indice specificato; in caso contrario, FALSE.
Note
Questa funzione è utile per disegnare più sottostringhe in una stringa di origine quando un singolo carattere noto separa ogni sottostringa.Questa funzione trova all'inizio del parametro di lpszFullString ogni volta che viene chiamata.
Questa funzione restituisce FALSE se o lpszFullString è impostato su NULL o la funzione raggiunge la fine di lpszFullString senza individuare iSubString+1 occorrenza del carattere separatore specificato.Il parametro di rString non verrà modificata rispetto al valore originale se lpszFullString è stato impostato su NULL; in caso contrario, il parametro di rString è impostato sulla stringa vuota se la sottostringa non venga estrattaindice specificato.
Esempio
// 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);
}
Requisiti
Header: <afxwin.h>