AfxExtractSubString

此全局函式可用於從特定源字元串中提取子字元串。

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

參數

rString 對CString將得到一個單獨的子字元串的對象。

lpszFullString 字元串包含字元串的全文提取自。

iSubString 提取的子字元串的從零開始的索引從 lpszFullString。

chSep 使用的分隔設定分隔子字元串。

返回值

TRUE ,如果函式成功提取了該子字元串中提供的索引;否則, FALSE

備註

在已知的單個字元分隔每個子字元串時,此功能可用於從源字元串中提取多個子字元串。

rString 保存輸出的子字元串

lpszFullString 待分割的字元串

iSubString 提取的子字元串的序號,從0開始。假如你想提取第3段,該參數就輸入2

chSep 用於分割的字元,默認的是'\n'

分割成功,就返回TRUE;iSubString越界,則返回FALSE

示例

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

}

要求

表頭: <afxwin.h>

相關詞條

熱門詞條

聯絡我們