AfxExtractSubString
Esta función global se puede utilizar para extraer una subcadena de una cadena determinada de origen.
BOOL AFXAPI AfxExtractSubString (
CString& rString,
LPCTSTR lpszFullString,
int iSubString,
TCHAR chSep = '\n'
);
Parámetros
el rString
- Haga referencia a CString un objeto que recibe una subcadena individual.
el lpszFullString
- Cadena que contiene el texto completo de la cadena para extraer de.
el iSubString
- Índice basado Cero- de la subcadena a extraer de lpszFullString.
chSep
- Carácter separador utilizado para delimitar subcadenas.
Valor devuelto
VERDADERO si la función extrajo correctamente la subcadena en el índice proporcionado; si no, FALSE.
Comentarios
Esta función resulta útil para extraer varias subcadenas de una cadena de origen cuando un carácter individual conocido separa cada subcadena. Búsquedas de esta función desde el inicio del parámetro de lpszFullString cada vez que se llama.
Esta función devuelve FALSE si o lpszFullString se establece en nulo o la función llega al final de lpszFullString sin encontrar iSubString+1 apariciones del carácter separador especificado. El parámetro de rString no se modificado su valor original si lpszFullString se estableció en nulo; si no, el parámetro de rString se establece en la cadena vacía si la subcadena no se puede extraer del índice especificado.
Ejemplo
// 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);
}
Requisitos
Encabezado: <afxwin.h>
Vea también
Conceptos
Macros y variables globales de MFC