Partilhar via


AfxExtractSubString

Esta função global pode ser usada para extrair uma substring de uma seqüência de caracteres de fonte específica.

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

Parâmetros

  • rString

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

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

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

    • Caractere separador usado para delimitar subseqüências.

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 seqüência de caracteres de fonte quando um único caractere conhecido separa cada subseqüência.Esta função de pesquisa do início do lpszFullString parâmetro sempre que for chamada.

Esta função retornará FALSO se qualquer um dos lpszFullString é conjunto para NULO ou a função atingir o participante da lpszFullString sem Localizando iSubString+ 1 ocorrências do caractere separador especificado. The rString parâmetro não será modificado do valor original se lpszFullString foi definido como NULO; caso contrário, a rString parâmetro for definido como uma seqüência de caracteres 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

Macros do MFC e globais

Outros recursos

Usando CString