간단한건데 이것좀 해결해 주세요...;;;
글쓴이: gunny97 / 작성시간: 수, 2003/10/22 - 1:50오후
#define MAXBUF 1024
char buff[MAXBUF];
char temp[MAXBUF];
char *packet;
======중략======
for ( ; ; ) {
n=read(fd,buff,MAXBUF); // 1분마다 패킷 받는놈 (라인단위로 7줄인가 옵니다)
==== 중략 =====
packet=strcat(temp,buff); // 하나의 패킷으로 합치는넘
if(리드에서 읽어온 버퍼중에 end란 글자가 있으면)
packet을 출력하고 packet을 초기화 하고 싶은데
잘 안되네요... 1분후에 오는 패킷내용엔 새로온 패킷만
있어야 하는데 1분전에 보내온 패킷까지 갖고 있네요
packet=NULL한다음에 1분후에 패킷을 받아도 마찬가지로
1분전의 패킷을 갖고 있네용;;
시간이 지날수록 패킷이 점점 쌓여만 가네요... 1분단위로 출력하고 초기화하고
다시 1분후에 보내온 패킷을 라인단위로 받었다가 한패킷으로 출력할려는데
아무래도 temp란 놈한테 계속 붙여나가는거 같아서
temp를 초기화 시키려는데 배열을 중간에 초기화 하려면
어떻게 해야 하나요? temp=NULL이라고 해동 잘못된 할당이라고
나오네요...
}
Forums:
memset(temp, 0, MAXBUF);
확실한거
strcat만 쓰신다면, 더 쉬운거
정말 감사합니다.
정말 감사합니다. 해결되었네요 ^^;
댓글 달기