보고서에 추가 바이트가 표시되는 이유는 무엇입니까? 끝에 개행 문자가 없습니다. 비슷한 결과로 다른 파일을 테스트했습니다. 리눅스 3.2를 사용합니다.
$ cat testfile.txt
aabbcd
$ wc -c testfile.txt
7 testfile.txt
마찬가지로 C++를 사용하면 바이트 수가 1개 더 보고됩니다.
...
file(filename, std::ifstream::in | std::ios::binary);
file.seekg(0, std::ifstream::end);
int fsize = file.tellg();
...
aabbcd 텍스트는 6자로 구성되며 ASCII 인코딩에서는 6바이트여야 합니다. 7바이트 보고서를 받는 이유는 무엇입니까?
참고: 예제에 문자가 있지만 텍스트나 형식화된 입력이 아니라 바이트에만 관심이 있습니다.
답변1
vi
그리고 다른 많은 편집자들수동으로 추가하지 않아도 파일 끝에 추가 줄바꿈이 추가됩니다.. 예를 들어 aabbcd
vi에서 작성하고 return 키를 누르지 않고 저장하면 파일이 od -x
;
0000000 6161 6262 6463 000a
0000007
...이것은 (리틀 엔디안 덤프) aabbcd
+ 개행입니다.
ls -l
파일은 7바이트로도 표시됩니다.
$ ls -l testfile.txt
-rw-r--r-- 1 me staff 7 Jul 26 09:52 testfile.txt
이는 귀하의 파일에도 해당될 가능성이 높습니다.