Condividi tramite


AfxExtractSubString

Questa funzione globale può essere utilizzata per disegnare una sottostringa in una stringa di origine specificata.

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

Parametri

  • rString

    • Riferimento a un oggetto di CString che riceverà una singola sottostringa.
  • lpszFullString

    • Stringa contenente il full-text della stringa per estrarre da.
  • iSubString

    • Indice a base zero della sottostringa da estrarre dal lpszFullString.
  • chSep

    • carattere separatore utilizzato per delimitare le sottostringhe.

Valore restituito

TRUE se il funzionamento estrarre la sottostringa all'indice specificato; in caso contrario, FALSE.

Note

Questa funzione è utile per disegnare più sottostringhe in una stringa di origine quando un singolo carattere noto separa ogni sottostringa.Questa funzione trova all'inizio del parametro di lpszFullString ogni volta che viene chiamata.

Questa funzione restituisce FALSE se o lpszFullString è impostato su NULL o la funzione raggiunge la fine di lpszFullString senza individuare iSubString+1 occorrenza del carattere separatore specificato.Il parametro di rString non verrà modificata rispetto al valore originale se lpszFullString è stato impostato su NULL; in caso contrario, il parametro di rString è impostato sulla stringa vuota se la sottostringa non venga estrattaindice specificato.

Esempio

// 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);
}

Requisiti

Header: <afxwin.h>

Vedere anche

Concetti

Macro MFC e Globals

Altre risorse

Utilizzando CString