Q&A

  • string ==> byte로 변환....
str: string;

bt: array[0..3] of byte;



여기서 예를 들어

str := 'abc'; 라 하면 끝에 null이 포함된 내용이겠죠?



여기서

bt[0] 에 a를

bt[1] 에 b를

bt[2] 에 c를

bt[3] 에 null을 넣으려고 하는데...잘 안되네요..

자꾸 C언어적 사고가 생겨서리...

어떻게 해야하나요?



1  COMMENTS
  • Profile
    최용일 2001.02.24 01:46
    안녕하세요. 최용일입니다.



    string타입은 씨에서 사용하는 PChar형과는 다르죠... PChar형이야 널종료문자열인거은



    알테구... string타입은 인덱스 1부터시작합니다. 끝에 널문자열이 아니라 인덱스 0번



    (4바이트)에 그 크기를 저장합니다. -1번 인덱스(4바이트)에는 레퍼런스카운트가 들어



    가 있구요. 그래서 메모리 할당해제를 델파이가 자동으로 알아서 해줍니다....



    Str := 'abd';

    bt[0] := Str[1];

    bt[1] := Str[2];

    bt[2] := Str[3];

    bt[3] := #0;



    아래와 같이 하면 더 편리하죠...

    FillChar(bt, 4, 0);

    Move(Str[1], bt[0], Length(str));



    ^^ 항상 즐코하세요...



    초보 wrote:

    > str: string;

    > bt: array[0..3] of byte;

    >

    > 여기서 예를 들어

    > str := 'abc'; 라 하면 끝에 null이 포함된 내용이겠죠?

    >

    > 여기서

    > bt[0] 에 a를

    > bt[1] 에 b를

    > bt[2] 에 c를

    > bt[3] 에 null을 넣으려고 하는데...잘 안되네요..

    > 자꾸 C언어적 사고가 생겨서리...

    > 어떻게 해야하나요?

    >