2009/02/02
[MFC] 간단하게 부분 문자열을 추출하는 방법 - AfxExtractSubString()
Toolbar 의 ToolTip 을 변경하고 싶어서 자료를 찾던 도중 알게된 함수이다.
이 함수는 전체 문자열 중에서 지정된 구분자로 구분하였을때 특정 위치의 문자열을 찾아 준다.
다음은 함수 원형이다.
BOOL AFXAPI AfxExtractSubString (
CString& rString,
LPCTSTR lpszFullString,
int iSubString,
TCHAR chSep = '\n'
);
MSDN 사이트에서 발췌한 사용예(http://msdn.microsoft.com/en-us/library/aa991543.aspx)
Original Post : http://neodreamer-dev.tistory.com/244
이 함수는 전체 문자열 중에서 지정된 구분자로 구분하였을때 특정 위치의 문자열을 찾아 준다.
다음은 함수 원형이다.
BOOL AFXAPI AfxExtractSubString (
CString& rString,
LPCTSTR lpszFullString,
int iSubString,
TCHAR chSep = '\n'
);
MSDN 사이트에서 발췌한 사용예(http://msdn.microsoft.com/en-us/library/aa991543.aspx)
// 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
\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
\n"));
continue;
}
// Pass the name, value pair to the debugger for display
CString strOutput = strName + _T(" equals ") + strValue + _T("
\n");
OutputDebugString(strOutput);
}
Original Post : http://neodreamer-dev.tistory.com/244
Labels:
AfxExtractSubString
,
C++
,
MFC
,
TistoryOldPost
,
Visual C++
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment