Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 en cero de la subcadena a extraer de lpszFullString.
chSep
- Carácter separador utilizado para delimitar subcadenas.
Valor devuelto
TRUE 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 NULL 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 NULL; 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
Header: <afxwin.h>
Vea también
Conceptos
Macros y funciones globales de MFC