Q&A

  • 스트링 변수에 저장된 값을 integer에 넣으려면?
기존에 개발한 C로 개발한 프로그램이 있는데,
이 프로그램에서 네트웍으로 숫자값을 보냅니다.
문자열 '123'식으로 바꾼게 아니라, C에 쓰는 integer값 그대로 보내는 겁니다.
(물론 몇개 붙여서 보내지만요...)

그런데 델파이의 서버소켓으로 받으니 string형태이던데
이걸 어떻게 integer에 나누어 넣어야 할지 난감합니다.

한동안 델파이를 안하다가 갑자기 하려니 이런것에도 헤메네요.. ^^;;
2  COMMENTS
  • Profile
    이경문 2002.04.10 07:36
    var
      s: String;
      i: Integer;
    begin
      s := "255";
      i := StrToInt(s);
      send(@i, sizeof(i));
    end;
    이경우를 가정해 봅시다.
    255는 Integer로 했을 경우 $000000FF가 되구요,
    실제로 메모리상에는 FF000000가 되지요(little endian)
    그런데 통신하고자 하는 peer에서는 데이터를 FF000000로 받게 되고
    의미적으로 FF가 아닌 FF000000가 될 수 있겠지요.
    실제적으로 CPU가 다른 두대의 컴퓨터에서는 이런 byte order를 맞춰 줘야 합니다.
    hton... ntoh... 관련 함수를 참조하시기 바랍니다.


  • Profile
    머슴 2002.04.03 20:45

    델파이에서는 String을 Integer로 변환하는 함수가...

    StrToInt라는 함수가 있습니다...