[해결]시스템 콜로 파일을 읽어 출력시 이상한 문자가 하나씩 나옵니다

Seydlitz의 이미지

과제입니다만
거의다 짜는 마당에 알수없는 문제가 생겼는데
이게 왜 나오는지 몰라서 질문을 올립니다.

이상한 문자가 나오는 지점은
시스템콜 read를 사용하여 파일을 일정크기의 배열에 읽은후
이를 한줄씩 출력하고 있는데요

맨 처음 한줄 출력시에 맨 앞에 ^@ 라는 한글자가 출력됩니다.
그 뒤부터는 그대로 출력이 되고요.

저 한글자도 화면으로 출력될때는 보이지 않고요
리다이렉션으로 파일로 저장할때만 보입니다.

여는 파일에는 저런 내용은 없고요
(/etc/profile파일을 대상으로 테스트중입니다)

화면에는 저게 안보이는것 봐서는 컨트롤관련 문자인것같은데 어떤건지 잘 모르겠네요

혹시 저 문자가 뭐하는 건지 알수있는 방법이 있겠습니까?

Seydlitz의 이미지

마지막줄 너머를 읽고있었군요
음, 제가 실수했습니다.

파일 끝에 \n을 넘어서 들어가서 저런 값이 나왔군요

모두를 위한 하나이지만, 하나를 위한 모두이지는 않다.