문자열을 어떠한 구분자에 의해 나누고 싶을 때
예를 들어, "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;
}
'프로그래밍 > API' 카테고리의 다른 글
CloseHandle (0) | 2010.07.27 |
---|---|
mbstowcs_s, _mbstowcs_s_l (0) | 2010.07.27 |
ReadFile() 함수 (0) | 2010.07.27 |
CSting의 유니코드를 파일로 저장 & 로드 할때 (0) | 2010.05.25 |
멀티바이트->유니코드 , 유니코드->멀티바이트 간단변환 (0) | 2010.05.25 |