AfxExtractSubString

Esta função global pode ser usada para extrair uma subseqüência de caracteres de uma seqüência de caracteres de determinada fonte.

BOOL AFXAPI AfxExtractSubString (
   CString& rString,
   LPCTSTR lpszFullString,
   int iSubString,
   TCHAR chSep = '\n'
);

Parâmetros

  • rString

    • Referência a um CString objeto receberá uma subseqüência de caracteres individual.
  • lpszFullString

    • Seqüência de caracteres contendo o texto completo da cadeia de caracteres a extrair.
  • iSubString

    • Índice baseado em zero da subseqüência extrair de lpszFullString.
  • chSep

    • Caractere separador usado para delimitar substrings.

Valor de retorno

TRUE se a função extraídos com êxito a substring no índice fornecido; Caso contrário, FALSE.

Comentários

Essa função é útil para extrair várias substrings de uma string de origem quando um único caractere conhecido separa cada subseqüência.Esta função de pesquisa do início do lpszFullString cada vez que ele é chamado de parâmetro.

Esta função retornará FALSE se ambos lpszFullString é definido como Nulo ou a função atinge o final da lpszFullString sem Localizando iSubString+ 1 ocorrências do caractere separador especificado.O rString parâmetro não será modificado de seu valor original se lpszFullString foi definido para Nulo; Caso contrário, o rString parâmetro for definido como uma seqüência vazia se não foi possível extrair a subseqüência de caracteres para o índice especificado.

Exemplo

// 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

Cabeçalho: <afxwin.h>

Consulte também

Conceitos

Globais e Macros do MFC

Outros recursos

Usando CString