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
[54005] Re:바이트 단위로 데이타를 다루고 싶습니다.
아제나 [azena] 1571 읽음    2008-07-21 13:10
포인터는 포인터 형에 따라서 배열과 완전 동일하게 취급됩니다.

 
  char a[];
  char *a;


두가지는 완전히 동일한 명령입니다.

그럼 "I'm azena"

이런 문자열(메모리)에서 azena만 뽑아 낸다고 가정하고 코드를 작성해보면

  char *a = "I'm azena";
  char b[10];

  memcpy( b,&a[4],5); 
         // b가 가리키는 메모리 주소에 a가 가르키는 char 크기로
         // 5번째(0부터 시작하므로) 위치의 char 크기의 메모리 5개를 복사
  b[5] = 0; // 문자열의 끝은 반드시 0으로 끝나야 합니다. null-terminator

  ShowMessage( b ); // 출력하여 확인


이런 식으로 작업을 하시면 됩니다.

문자열은 끝에 반드시 0을 넣어야 함을 잊지 마세요.

처음부터 배열을 memset()으로 0으로 초기화 하고 작업을 해도 됩니다.


c언어 초보 님이 쓰신 글 :
: 예를 들어 메시지 정보를 담고 있는 바이너리로 이루어진 M이라는 데이타가 있다면
: 데이타의
: 1-2 바이트에 해당하는 부분을 따로 아 메시지 형태
: 3-4바이트 부분은 메시지 폰트 이름 정보
: 5-6바이트 부분은 메시지 폰트 크기정보
: 6-n 바이트 부분은 메시지 내용이라고 했을때
:
: 어떤 함수를 어떻게 활용해야 M이라는 데이터에서 제가 원하는 메시지 정보 데이터를 각각 뽑아 낼 수 있는지
: 알고 싶습니다.
: 저한테는 프로그래밍 자체가 생소하다보니 많이 힘드네욤...^^
: 그래서 도움을 주십사 하고...이렇게 글을 올립니다.

+ -

관련 글 리스트
53997 바이트 단위로 데이타를 다루고 싶습니다. c언어 초보 1309 2008/07/21
54017     Re:덕분에 성과가 있습니다. c언어 초보 1084 2008/07/22
54005     Re:바이트 단위로 데이타를 다루고 싶습니다. 아제나 1571 2008/07/21
53999     이렇게 해도 될가욤? c언어 초보 1107 2008/07/21
54010         Re:이렇게 해도 될가욤? zeFa 1221 2008/07/22
54003         Re:이렇게 해도 될가욤? 금목암 1084 2008/07/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.