소켓으로 텍스트파일을 전송받았습니다. 그런데 파일의 가장 끝에 이상한 문자가 추가되어있는데요..
글쓴이: Shinkyo / 작성시간: 월, 2006/12/25 - 6:16오후
소켓으로 텍스트형태의 파일을 전송받았습니다. 그런데 전송받은 후의 문서를 확인해보면
문서 마지막줄에 "^@"문자가 추가되어있습니다. vi 에디터로 확인해보면 저러한 문자가 찍혀있고
kwrite를 통해 파일을 열어보면 전송받은 파일이 바이너리라고 메세지가 뜹니다.
캐릭터 형태로 저장한것 같은데 왜 저런 결과가 나오는지 모르겠습니다.
이때문에 자꾸 파일을 읽을때 문제가 생기거든요 답변부탁드리겠습니다. 클라이언트쪽에서 파일을 저장할때
다음과 같은 코드로 작성했습니다.
int numbytes = recv(sockfd, buf MAXDATASIZE-1, 0) FILE *fout int i; fout = fopen("playlist", "w"); for(i=0; i < numbytes ; i++){ fputc(buf[i], fout); }
그럼 답변 부탁드리겠습니다.
Forums:
보낼 때 잘못 보낸 듯
보낼 때 잘못 보낸 듯 싶습니다.
^@ == 0x00 == NUL 입니다. 보낼 때 NUL terminator 까지 보낸 듯 싶네요.
답변 감사합니다 ^^
^@이게 무슨문자인지 몰랐는데 NULL이었네요..
그냥 NULL문자 제외하고 처리하는 방법으로 해결했습니다 ^^
답변 감사드립니다
댓글 달기