IP Address를 문자열을 받으면 각 한 BYTE로 나누는 방식입니다.
strtok() 함수를 사용하였습니다. - 함수에 대한 자세한 내용은 MSDN http://msdn.microsoft.com/ko-kr/library/2c8d19sb(VS.90).aspx
strIpAddres = "192.168.0.0" 이렇게 받는다고 하면...
char* szIpAddress;
BYTE m_IpAddr[4];
char *p;
int i = 0;
p = strtok(szIpAddress, "."); // 192 대입됨
m_IpAddr[i] = atoi(p);
while(p!=NULL)
{
i++;
p = strtok(NULL, "."); // 168 -> 0 -> 0 순서대로 대입 (이유는 아래)
if(p)
IpAddr = atoi(p);
}
char* szIpAddress;
BYTE m_IpAddr[4];
char *p;
int i = 0;
p = strtok(szIpAddress, "."); // 192 대입됨
m_IpAddr[i] = atoi(p);
while(p!=NULL)
{
i++;
p = strtok(NULL, "."); // 168 -> 0 -> 0 순서대로 대입 (이유는 아래)
if(p)
IpAddr = atoi(p);
}
이렇게 하면 BYTE m_IpAddr[4]; 에 [0] ~ [3] 배열에 192.168.0.0 이 들어갑니다.
ex)
IpAddr[0] ->192
IpAddr[1] ->168
IpAddr[2] ->0
IpAddr[3] ->0
-- 아래 --
strtok 함수 사용 할때 알아야 할점)
처음 호출할땐 strtok(szIpAddress, "." ) 이것처럼 해당 문자열의 처음시작주소를 넘겨주고
다음 호출할땐 좀 전에 니가 바꿔버린 NULL부터 다시 토큰을 뽑아내라고 strtok( NULL, "." )이라고 집어넣어야 합니다.
strtok() 함수의 특성(?)이라고 합니다.
'programming > MFC' 카테고리의 다른 글
MFC PropertyGrid Control (Column Header Size 조절하기) (1) | 2011.11.21 |
---|---|
[MFC] LPCTSTR형을 char*형으로 변환 (0) | 2011.10.20 |
[MFC] CString 에 있는 파일경로 char 로 가져오기 wcstombs_s 함수 (0) | 2011.10.20 |
MultiByteToWideChar(), WideCharToMultiByte() 함수 (0) | 2011.09.21 |
Arp Table Edit ( ADD/ Modify / Remove ) - C/C++ (0) | 2011.03.14 |