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
[16506] Re:[질문] 도와주세요...
지나가는 사람 [] 1375 읽음    2002-03-19 12:18

코드에 대해서 잘못 이해를 하고 계시는군요...

일단 화면출력이나 입력을 위한 기본적인 입출력은 ASCII로 이루어집니다.
이걸 어떤 변수에 StrToInt로 저장을 하면 어떻게 저장이될까요..
예를 들어 0x0f가 입력이 된다면..

이 수를 StrToInt로 저장을 시키면..

16진수로 숫자 0x0f가 저장이 될겁니다.

여기서 차이점을 보면.. 에디트 박스에 있는 값은 ASCII 그러니까..
0,x,0,f에 해당하는 ASCII가 저장이 되어 있는 것이고..(총 4바이트가 되겠지요)
변수에는 숫자 0x0f가 있는 것입니다.(1바이트 입니다.)

이 변수를 A라고 하면..
이진수로는 0000 1111이 될테고..
10진수로는 15가 되겠지요..

이건 유저가 어떤 진법으로 해것을 하느냐에 따라서 달라지는 것일뿐..
변수자체의 값이 16진이건, 2진수이건 10진수이건 상관이 없는것입니다.
(모두 자료형 int일뿐입니다.)

아래 에디트 박스의 내용을 변환하려면..
0x00을 strtoint로 해서 int형으로 전환후 test[0] 에 대입하고
0x01은 똑같은 방법으로 test[1]에

이렇게 해주면 됩니다.

Pos,Substring등 문자열 자르는 함수들을 이용하면 EditBox에서
0x00,0x01등을 추출해 낼수 있습니다.

김경완 님이 쓰신 글 :
: 에디트박스(Edit1->Text)에 0x00, 0x01, 0xAA ...............
: 이렇게 입력을 하는데요...
: 입력한 값을 문자열로 받아들입니다.
: 받아들인 문자열을 16진수로 타입변환할 수 있는 방법이 없을까요..?
:
: 프로그램 내에서
:
: unsigned char test[10]={0x00, 0x01, 0x02.....};
:
: 직접 선언을 해줄 경우에는 이값이 문자열이 아닌 16진수로 들어갑니다.
: 그런데 에디트에서 입력하면 문자열이 되어버립니다.
:
: 부탁드립니다.

+ -

관련 글 리스트
16505 [질문] 도와주세요... 김경완 1156 2002/03/19
16506     Re:[질문] 도와주세요... 지나가는 사람 1375 2002/03/19
16509         Re:Re:[질문] 도와주세요... 김경완 1193 2002/03/19
16511             Re:Re:Re:[질문] 도와주세요... 지나가는 사람 1160 2002/03/19
16515                 Re:Re:Re:Re:[질문] 도와주세요... 김경완 1194 2002/03/19
16534                     제가 보기에는... 이경문 1136 2002/03/19
16516                     Re:Re:Re:Re:Re:[질문] 도와주세요... 지나가는 사람 1193 2002/03/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.