내가 writen 있고,이 버퍼 크기보다 작은 charachters이 파일에 대한 좋은 작품을 사용하여 TXT 파일을 압축/압축 해제하는 프로그램을 작성해야하지만 대한 작업을 나던
더 많은 문자를 가진 파일.
제 문제는 압축 버퍼와 압축 해제 버퍼를 연결하는 것입니다.
따라서 압축을 통해 작성된 바이트 수 (트리를 통과하는 1과 0 포함)가 압축 해제가 읽는 바이트 수와 다른 경우 작동하지 않습니다. 예를 들어 압축 버퍼가 200을 쓰는 경우 정확히 200 바이트를 읽으려면 압축 해제 버퍼가 필요합니다. 내가 200을 읽어 압축 해제의 크기를 설정하면
, 어딘가에 압축 (200)를 작성하고 다른 시간 작거나 이상 200
당신은 압축에 의해 쓰여진 바이트의 수를 추적하는 방법을 무엇을 제안 할 수 매번 압축 해제 부분으로 전송 하시겠습니까?
며칠 전 동일한 프로그램을 만들었습니다. 문제가있는 곳을 조금 더 설명해 주시겠습니까? – MrD
물론 압축을 위해서 파일을 읽으려면 inbuffer (4000bytes)를 사용하고, 파일을 읽은 후에는 –
을 사용하여 주파수 테이블을 만듭니다. 그것을 출력에 씁니다. 나무를 만드십시오. 닫고 각 문자에 대한 경로를 얻으려면 입력 파일을 다시 열려면 출력 파일에 경로를 (0 위로 1 아래로) 쓰기 3000 바이트 버퍼를 사용하십시오. 0 또는 1이 8 비트 버퍼로 이동 된 후에 비트가 기록됩니다. 하지만 일부 비트는 쓰레기입니다. 그래서 나는 그 수를 유지합니다. 버퍼의 첫 번째 문자로 출력에 기록합니다.이 문자는 압축 해제에서 다시 읽습니다. 그러나 문제는 압축의 출력 버퍼가 항상 압축 해제 버퍼의 크기 인 –