숙제를 위해 나는 간단한 길이의 인코딩을 사용하는 간단한 압축/압축 풀기 프로그램을 만들었다. 나는 내 프로그램을 작동시켰다. 매우 많은 문자 (예 : 프로그램 소스)로 텍스트 파일을 압축하고 압축을 풀면 완벽하게 작동합니다. 실험으로 압축 프로그램 자체의 이진 압축/압축 해제를 시도했습니다. 이로 인해 원래의 바이너리보다 훨씬 작은 파일이 생성되어 분명히 실행 가능하지 않게되었습니다. 이 데이터 손실의 원인은 무엇입니까?C 바이너리 파일 표현
내 가정은 바이너리 파일이 어떻게 표시되는지에 관한 것이었지만 과거에는 그다지 알 수 없었습니다.
당신이 파일을 여는 버그 바이너리 모드? – NPE
이진 파일은 형식이없는 1의 스트림이고 0의 –
@NPE 아니요. 내 프로그램은 단지 getchar()을 사용하여 입력에서 읽습니다. 이 파일에서 비트를 잡아서 정수 값을 반환하지 않습니까? – grimetime