어떠한 문자열을 글자수(byte) 수 만큼 Socket으로 전송하려 합니다..
문자열을 담는 변수는 array 형 char로 처리합니다...
정적(Static)배열로 했을 경우는 제대로 전송이 되지만...
글자수 만큼 보내야 하므로 정적(Dynamic)배열을 쓰려 합니다...
그래서 기존의
digitString : array[0..9] of char; // size : 10 byte
에서
digitString : array of char; // size : 4 byte
와 같이 선언한후
'123456' 이라는 문자를 할당하고 처리하면
첫번째의 경우는 123456 이 제대로 나오지만..6byte가 전송되어야 하는데 10byte가 가서 뒤에 4byte가 더 보내지고..
두번째의 경우는 값도 이상하고 그뒤 데이타도 밀려서 이상한값이 나옵니다..
글자수 만큼 보내야 할 경우 어떤 형태로 저장 해야 하며 어떻게 처리해야 하는지 자세히좀 알려주세요..
더이상 갈굼은 싫어요.. ㅠㅠ
보통 버퍼를 크게 잡아 놓고, 버퍼에 쓰인 양(글자수)만큼 데이터를 소켓으로 보내지 않나요? 오히려, 아래와 같이 버퍼를 실행중에 글자수 만큼 계속 할당을 한다면, 메모리를 할당하는 작업으로 인해서 오버헤드가 더 커질까 우려되는 군요.
이상. 허접한 답변이었습니다.