Compartir a través de


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

Otros recursos

Mediante CString