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
[26875] Re:저두 답답하네요..
꼴.시크릿 [kkol] 748 읽음    2003-08-22 12:44
: num = ComPort1->ReadStr(buf, count);
:
: for(i=0; i<num; i++)
: {
:   if(buf[i] == 0x22)  이렇게 첫번째 데이타를 찾아서..
:   그때부터 열개의 데이타를 읽어야 하더군요..--;
:
: 그런데 문제는
:
: if(buf[i] == 0x22) 이렇게 비교가 안되는것 같은데..
: 이거 확실하게 비교하는 코드좀 가르쳐주세요..--;


데이터 읽는 문제는 아래에 답변 드렸고요

위 코드에서 AnsiString은 0부터 인덱싱하면 안됩니다.
첫번째 문자가 buf[1] 이죠.. ( 저도 항상 쓸때마다 헥갈리는 부분입니다. )

그러니 buf[i]를 buf[i+1]로 바꿔야할 듯하네요
비교하는 것은 맞습니다.
혹시 안된다면 (unsinged int)(buf[i+1]) == 0x22 이런식으로
캐스팅 한번 해보시죠

그래도 문제가 해결되지 않는경우
실제 비교할때의 데이터가 중요한거니까 디버깅하면서 찍어보면 확실히 알수있을겁니다.
씨빌더의 디버깅 툴을 사용해보세요

가능하면 디버깅할 필요없는 문제없는 코드를 만드게 좋지만..
문제가 생겨서 헤메고 있다면 당연히 디버깅해서 찾아야죠..
트레이싱 하면서 함수 리턴값, 변수값 등등 찍어보면 금방 해결될 문제를
고민하시는군요..




+ -

관련 글 리스트
26873 저두 답답하네요.. 요구르트 758 2003/08/22
33208     Re:저두 답답하네요.. 강영준 835 2003/08/22
26876     Re:저두 답답하네요.. posix.duo 894 2003/08/22
26875     Re:저두 답답하네요.. 꼴.시크릿 748 2003/08/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.