AfxExtractSubString
Cette fonction globale peut être utilisée pour récupérer une sous-chaîne d'une chaîne données source.
BOOL AFXAPI AfxExtractSubString (
CString& rString,
LPCTSTR lpszFullString,
int iSubString,
TCHAR chSep = '\n'
);
Paramètres
rString
- Référencez à CString un objet qui reçoit une sous-chaîne individuelle.
lpszFullString
- Chaîne contenant le texte complet de la chaîne pour récupérer à partir de.
iSubString
- Index de base zéro de la sous-chaîne à récupérer de lpszFullString.
chSep
- Caractère de séparation utilisé pour délimiter les sous-chaînes.
Valeur de retour
TRUE si la fonction extrayait correctement la sous-chaîne à l'index fourni ; sinon, FALSE.
Notes
Cette fonction est utile pour extraire plusieurs sous-chaînes d'une chaîne source lorsqu'un caractère unique sépare chaque sous-chaîne.Recherches de cette fonction du début du paramètre d' lpszFullString chaque fois qu'il est appelé.
Cette fonction retourne FALSE si ou lpszFullString est défini à NULL ou la fonction atteint la fin d' lpszFullString sans rechercher iSubString+1 occurrences du caractère de séparation spécifié.Le paramètre d' rString ne sera pas modifié de sa valeur d'origine si lpszFullString a été défini à NULL; sinon, le paramètre d' rString a pour valeur la chaîne vide si la sous-chaîne ne peut pas être récupérée pour l'index spécifié.
Exemple
// 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);
}
Configuration requise
Header: <afxwin.h>