Q&A

  • 구조체 초기화하기 FillChar함수사용 (델파이)
오늘 벌써 2번째 글을 올립니다.

여러고수님들의 즉각적인 답변에 감탄하고 있습니다.

P5012는 구조체 입니다.(구조체 안에 다른 구조체가 또 있지요..)

설명을 드리자면요..

통신 패킷에서 헤서와 데이터 부분이 있는데..

데이터 패킷구조체에 헤더구조체가 들어가 있는 형태지요..



그런데..초기화를 #2로 하고 있습니다.

0x20에 해당하는 것이 #2 이거 맞나요..?(T_T)

저는 맞다고 쓰고 있는 사람입니다.(무식하지여..)

그런데저기 ini_Char := #2 입니다.



FillChar(P5012, sizeof(P5012), ini_Char);

그런데 이렇게 초기화를 했더니 전부다 #0으로 되어 있는 겁니다.

제가 뭘 잘못 했을까요..?

그리고

FillChar(P5012^, sizeof(P5012), ini_Char);

이렇게 하면 #0도 아니고 이것 저것 잡다하게 들어 가는군요..

어떻게 틀린 내용입니까..? 궁금합니다.

그리고 구조체에 값들이 않들어가는 필드들은 #2값들로 채워져서 쓰고 싶은데요..

이것도 이상하게 안되는 군요..

구조체를

var

T5012 : PChar;



move(P5012^, T5012[0], sizeof(TCFU5012C));

이렇게 썼더니 구조체 필드중에서 값들이 정상적으로 들어온것만 move 되는군요..

제가 뭘 잘못했을까요..?

#2로 되어 있는 필드도 자리수대로 채워져서 move되어야하는데...

가르침을 기다립니다.

꾸뻑~







0  COMMENTS