Q&A

  • PChar 형에대해
코딩을하다보면 문자열단위로 함수로 값을 넘겨주고 받고하기위해 메게변수로 PChar형을 자주사용합니다... string형은 중간에 0이 끼어들면 끊어져버리더군요... 그래서 PChar형을 사용했는데.. 단순히 받아서 한번 처리하고 말면 별문제가 없었는데..

어떨때는 몇번 자료를 처리(읽기만했는데)하고나면 내용이 바뀌어있습니다.. 쓰레기값이 들어가있더라고요... 그래서 처리하기전에 PChar형의 다른변수명에 저장을하고 그변수를 사용해도 동일한 현상이더군요... 그래서 어거지로 그걸다시 배열에다넣고.. 하여 땜빵하듯이 넘어가곤했는데... PChar형이 포인터형변수라서 한번정해지면 그위치가 항상 따라다니나요?.. 그렇다고하더라도 값을 읽기만했는데 (buf[0], buf[1])이런식으로 케릭터단위로 읽어내기만 했는데 나중에보면 내용이 바뀌어버리는 현상이 왜 일어날까요... ? PChar형을 쓰기가 두럽습니다... 혹시 제가 놓친부분이있는지 조언좀 부탁으립니다...

즐거운하루 되십시요...

2  COMMENTS
  • Profile
    2001.06.04 09:04
    제가 대규님의 질문을 본 바로는

    포인터에 대한 개념을 아직 완전히 이해하고 계시지 못한 것으로 보입니다.

    포인터 변수를 사용할 때는 각별한 주의가 필요합니다.

    포인터에 대한 개념을 이해하시고 다시 한번 소스를 보신 후

    어떠어떠해서 안된다 하고 자세히 질문을 주시기 바랍니다.

    행복하세요.



  • Profile
    김대규 2001.06.05 18:40
    감사합니당~...

    근데 저두 어떠한시점에 그런현상이 생기는지 일관성을 찾을수가없어서...

    결국은 PChar형변수의 내용을 다른배열변수에 한바이트씩 복사를해서

    배열변수를 활용하니 아무문제없이 잘되는군요... 그것으로 대충 해결했습니다...

    델파이를 체계적으로 배웠어야하는데... 순전히 감으로만 익혀와서리...^^

    답변감사드립니다..