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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[785] [String] HexToInt
장성호 [nasilso] 12876 읽음    2008-07-23 18:19
int형을 Hex문자열로 바꿔주는
IntToHex 라는 함수는 VCL에서 제공한다.

그런데 그 반대되는 함수인
HexToInt 라는 함수는 VCL에 없다.


HexToBin 이라는것이 있는데
이는  hex스트링을 byte배열에 넣어준다. 
BinToHex 의 반대함수이지  IntToHex의 반대함수라고 할수 없다.

그래서 개인적으로 HexStrToInt 라는 함수를 만들어서 오랬동안 사용해 왔었다.

쩝쩝..

오늘 델마당의 Q&A의 댓글을 보고
IntToHex의 반대는 StrToInt 로 된다는것을 알았다.

http://www.delmadang.com/community/bbs_view.asp?bbsNo=17&bbsCat=0&st=&keyword=&indx=405509&keyword1=&keyword2=&page=1

허걱..
int  i = StrToInt("0xFF");   //  이렇게 해주면 된다.


델파이 에서는  
i:=StrToInt('$FF'); 


그런데 여기서 한가지
VCL은 델파이로 만들어져 있다는것을 기억하면..

델파이와 C++Builder에서  둘다 "$"문자와 "0x"문자를 Hex로 인식한다.

빌더에서
     StrToInt("0xFFFF"); 
     StrToInt("$FFFF");

델파이에서
     StrToInt('0xFFFF'); 
     StrToInt('$FFFF');


둘다 통한다.

Hex스트링인지 구분하는 앞 첨자는 아래와 같이 5가지가 되는것 같다.
"x , X , 0X, 0x ,$"


쩝쩝 그동안 저거 몰라...만들어 쓰고..
만든것 어디있는지 몰라 다시 만들어 쓰고.. 정말 여러번 했었는데...

...
방태윤 [nabty]   2008-07-24 13:19 X
AnsiString 의 ToInt() 도 됩니다.
장성호 [nasilso]   2008-07-24 13:56 X
네 맞습니다.
AnsiString::ToInt() 에 보면 내부에서 StrToInt를 호출하죠

//dstring.cpp 소스

  int __fastcall AnsiString::ToInt() const
  {
    return Sysutils::StrToInt(*this);
  }
zeFa [kdh8070]   2008-07-24 19:48 X
헉!!!

+ -

관련 글 리스트
785 [String] HexToInt 장성호 12876 2008/07/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.