소스를 the site에서 다운로드했는데 테스트를 실행할 때 모든 압축 파일의 압축이 풀린 파일을 다른 LF가 아닌 CR + LF 줄 끝으로 표시합니다. 원본에서.mingw를 통해 Windows에서 gzstream : CR + LF를 삽입
나는 소스에서 찾고 있어요하지만 그들은 이미 바이너리 모드로 파일 여는 것처럼 보인다 그것을 매우 깨끗 보이고 있기 때문에
gzstreambuf* gzstreambuf::open(const char* name, int open_mode) {
if (is_open())
return (gzstreambuf*)0;
mode = open_mode;
// no append nor read/write mode
if ((mode & std::ios::ate) || (mode & std::ios::app)
|| ((mode & std::ios::in) && (mode & std::ios::out)))
return (gzstreambuf*)0;
char fmode[10];
char* fmodeptr = fmode;
if (mode & std::ios::in)
*fmodeptr++ = 'r';
else if (mode & std::ios::out)
*fmodeptr++ = 'w';
*fmodeptr++ = 'b';
*fmodeptr = '\0';
file = gzopen(name, fmode);
if (file == 0)
return (gzstreambuf*)0;
opened = 1;
return this;
}
난 정말 코드의이 비트를 사용하고 싶습니다를 mingw gcc에서 쉽게 컴파일됩니다. 유일한 문제는 내가 해결할 수있는 슬라이드를 허용 할 수있는 까다로운 비즈니스입니다.
CR + LF를 주입하는 코드가 맞습니까? 아마도 다른 프로그램입니다 (열기/저장 중에 편집기 사용) –
이 코드는 테스트 파일을 압축 및 압축 해제하기 위해이 함수를 호출합니다. 커맨드 라인에서 실행합니다 (makefile도 마찬가지입니다). 나는 그것이'\ n \ '을'\ r \ n' 번역으로 바꾸는 zlib의'gzopen'인지를 판단 할 수 없습니다. –
파일에 잘못된 CR + LF가 있는지 어떻게 확인하고 있습니까? 압축 및 압축 해제 전후에 파일을 컴파일하기 위해 바이너리 편집기를 사용해 보셨습니까? –