CString Tokenize
문자열을 어떠한 구분자에 의해 나누고 싶을 때
예를 들어, "6000,A2301BA81301,Sensor1" -> "6000" / "A2301BA81301" / "Sensor1"
1. Tokenize 이용 (.net 함수..6.0에서는 사용을 못 한다.)
CString strFullText = _T("6000,A2301BA81301,Sensor1");
CString token;
CString strPortNumber, strName, strSensor;
int pos = 0;
int index = 0;
while ((token = strFullText.Tokenize(_T(","), pos)) != _T(""))
{
// 6000
if(index == 0)
{
strPortNumber = token;
index++;
}
// A2301BA81301
else if(index == 1)
{
strName = token;
index++;
}
// Sensor1
else if(index == 2)
{
strSensor = token;
index++;
}
}
2. AfxExtractSubString 이용
CString strFullText = _T("6000,A2301BA81301,Sensor1");
CString token;
CString strPortNumber, strName, strSensor;
for( int k=0; k<3; k++ )
{
AfxExtractSubString(token, strFullText, k, ',');
// Port에 정보 넣어준다.
// 6000
if(k == 0)
strPortNumber = token;
// A2301BA81301
else if(k == 1)
strName = token;
// Sensor1
else if(k == 2)
strSensor = token;
}
출처: http://endlessthirst.tistory.com/418 [세상살이]
'Programming > C,CPP,CS' 카테고리의 다른 글
중복 실행 방지 코드 (Mutex) (0) | 2018.04.18 |
---|---|
WAVE form wFormatTag IDs (0) | 2018.04.04 |
[CPP] Windows Service 간단하게 만들기 (0) | 2017.10.17 |
WaitForMultipleObjects (0) | 2017.04.19 |
How do I add my domain name to my computers host file? (0) | 2017.04.06 |