나는 C로 코드를 작성해야하는 압축 알고리즘을 연구 중이다. 프로그램은 파일을 가져와 모든 문자에서 가장 중요한 비트를 제거하고 압축 된 텍스트를 다른 파일에 저장한다. 아래에 표시된 것처럼 compress라는 함수를 작성했습니다. out_buf를 해제하는 동안 seg 오류가 발생합니다. 어떤 도움이라도 큰 즐거움이 될 것입니다.압축 알고리즘
Q
압축 알고리즘
-1
A
답변
2
out_fd를 두 번 닫습니다. 두 번째로 잘못된 파일 설명 자입니다. 그러나 그보다 더 중요한 것은 동적으로 할당 된 버퍼의 버퍼 크기를 찾는 것과 같지 않은 sizeof()의 사용을 검토해야한다는 것입니다. sizeof는 버퍼가 아니라 포인터의 크기를 반환합니다. 호출 코드를 표시하지는 않지만, 전달 된 버퍼에서 strcat()를 사용하는 것은 항상 가치가 있습니다 (결과에 대해 호출자가 충분히 큰 버퍼를 전달 했습니까?). 당신은
close(out_fd);
if (close(out_fd) == -1)
oops("Error closing output file", "");
그냥 처음 close(out_fd)
분할 오류를 제거 두 번 같은 파일 기술자를 종료하고 다시 가야하기에 충분해야한다 어쨌든
, ...
1
out_buf 포인터를 이동했기 때문입니다. malloc'd 영역에 값을 넣으려면 다른 임시 포인터를 사용하여이 메모리 영역을 이동하십시오. 이처럼
: SUBST 모든 *out_buf++
*tmp_buf++
와 다음
unsigned char *out_buf = malloc(5400000*7/8);
unsigned char *tmp_buf = out_buf;
;
쓰기 호출 중에도 out_buf
을 변경하십시오. tmp_buf
관련 문제
- 1. RAR 압축 해제 알고리즘
- 2. PHP의 압축 알고리즘
- 3. 정수 문자열 압축 알고리즘
- 4. 압축 알고리즘 마법 서명
- 5. 사용자 정의 압축 알고리즘
- 6. 역방향 "jpeg"압축 알고리즘?
- 7. ASTC 소프트웨어 텍스처 압축/압축 해제 알고리즘
- 8. C#/Android 호환 압축 알고리즘
- 9. IEEE-754 데이터 압축 알고리즘
- 10. 비트 스트림에 대한 압축 알고리즘
- 11. 비트 맵 이미지 압축 알고리즘
- 12. 인덱스 이미지의 통계 압축 알고리즘
- 13. 문자열로 압축하는 Javascript 압축 알고리즘?
- 14. LZMA 압축 알고리즘 - 가치가있는 경우
- 15. qrcode에 가장 적합한 압축 및 압축 해제 알고리즘
- 16. 플래시 압축 압축 알고리즘 .DEFLATE ByteArray in PHP
- 17. C# : PNG 압축 알고리즘/라이브러리 검색
- 18. 무손실 및 손실 이미지 압축 알고리즘?
- 19. 일련의 정수에 대한 최상의 압축 알고리즘
- 20. 자바에는 델타 인코딩/압축 알고리즘 라이브러리가 있습니까?
- 21. 고도의 중복 데이터에 사용할 압축 알고리즘
- 22. 작은 코드 풋 프린트를 가진 압축 알고리즘
- 23. 부분적인 gzip을 팽창/압축 해제하기위한 알고리즘
- 24. 두 가지 색상의 이미지 압축 알고리즘
- 25. 짧은 텍스트 문자열을위한 효율적인 압축 알고리즘
- 26. 데이터 압축 알고리즘 매개 변수에 관한 질문
- 27. 사전 기반 압축 알고리즘 : 어셈블리 언어로
- 28. URL 안전한 데이터를 생성하는 압축 알고리즘
- 29. 소량의 데이터를위한 우수한 무손실 압축 알고리즘?
- 30. 일련의 바이트에 사용할 최상의 압축 알고리즘 결정