안녕하세요..
저의 질문은 제목과 같이 C의 Union기능을 구현하려고 합니다.
Socket상에서 Int값을 받았는데..
이것은 일단 String Type으로 받아집니다.
문제는 4Byte String을 어떻게 Int 값으로 변환할 수 있는 방법이 없는지요.
(이 값을 Int 형 변수에 대입시킬려구 합니다.)
물론 억지로 변환하려면 할 수는 있지만 혹 C의 Union을 Pascal에서 구현 하는 방법이
있지 않을까? 하며 찾아봤는데... 못찾겠더군요..
답변 부탁드립니다.
다음과 같이 레코드를 쓰시면 C의 유니온 형이 됩니다.
UnionRec = record
case Integer of
0: (IntVar: Integer);
1: (StrVar: array[0..3] of Char);
end;
EX)
var
Union: UnionRec;
begin
Union.IntVar := 123456;
Union.StrVar := '1234';
end;
^^ 항상 즐코하세요.
우씌.. wrote:
> 안녕하세요..
>
> 저의 질문은 제목과 같이 C의 Union기능을 구현하려고 합니다.
>
> Socket상에서 Int값을 받았는데..
>
> 이것은 일단 String Type으로 받아집니다.
>
> 문제는 4Byte String을 어떻게 Int 값으로 변환할 수 있는 방법이 없는지요.
> (이 값을 Int 형 변수에 대입시킬려구 합니다.)
>
> 물론 억지로 변환하려면 할 수는 있지만 혹 C의 Union을 Pascal에서 구현 하는 방법이
>
> 있지 않을까? 하며 찾아봤는데... 못찾겠더군요..
>
> 답변 부탁드립니다.