C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[23738] Borland 를 이용하여 IP Address 변환 에러 처리를 어떻게 하는지 질문드립니다.
김솔 [] 819 읽음    2003-01-18 11:57
Form에서 Char로 IP Address를 입력 받아

이를 32비트로 변환한후 다시 변환하려고

inet_addr function과 inet_ntoa를 사용하려하는데

에러가 나 이렇게 질문드립니다.

헤더화일에 winsock.h 를 포함하고

        struct in_addr ip_addr;

        char *ip;

        ip = Edit1->Text.c_str();

        ip_addr.S_un.S_addr = inet_addr(ip);

        Edit2->Text = ip_addr.S_un.S_addr;

        Edit3->Text = inet_ntoa(ip_addr);


이렇게 사용하여 문자열 IP Address를 32비트로 변환후 다시 IP Address로

변환하는것 까진 하였는데

만일 잘못된 IP Address를 입력하였을경우 이를 위한 에러처리를 어떻게 되는지

질문드립니다.

linux에서는 두개인 인자값을 이용하여 값을 변환하여주고 반환값으로

에러처리를 하는데

Visual에서는 하나의 인자값에 처리되어 받는 반환값만 있고

에러 처리값은 따로 없네요

IP Address보다 큰수를 넣으면 255.255.255.255를 넣었을때와 같은 4294967295가 나오고

입력값이 132.54.3 이렇게 3자일경우 132.54.0.3 이렇게 세번째 자리에

강제로 0 이 삽입됩니다.

또 192.2.3 이렇게 3자를 입력하면 255.255.255.255를 넣었을때와 같이 4294967295가 나옵니다.

4294967295이 에러처리로 쓰이는 숫자인지...

IP 변환에 대한 정확한 에러처리에 대해 좋은 답변 부탁드립니다.^^



+ -

관련 글 리스트
23738 Borland 를 이용하여 IP Address 변환 에러 처리를 어떻게 하는지 질문드립니다. 김솔 819 2003/01/18
23741     Re: 해결하였습니다~^^ㅋ 김솔 639 2003/01/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.