
gzopen 함수는 gzip 파일을 열기 위한 함수입니다. 일반 파일을 열려고 하면 오류가 발생하는 이유는 gzopen 함수가 gzip 파일만 열 수 있기 때문입니다.
gzip 파일을 열기 위해서는 먼저 파일이 gzip 파일인지 확인해야 합니다. 이를 위해 파일의 확장자를 확인하거나, 파일의 내용을 확인할 수 있습니다.
파일의 확장자를 확인하는 방법은 다음과 같습니다.
#hostingforum.kr
c
#include
#include
int main() {
char *filename = "example.gz";
FILE *file = fopen(filename, "rb");
if (file == NULL) {
printf("파일을 열 수 없습니다.n");
return 1;
}
fclose(file);
if (filename[strlen(filename) - 2] == 'z' && filename[strlen(filename) - 1] == 'z') {
printf("%s은 gzip 파일입니다.n", filename);
} else {
printf("%s은 gzip 파일이 아닙니다.n", filename);
}
return 0;
}
파일의 내용을 확인하는 방법은 다음과 같습니다.
#hostingforum.kr
c
#include
#include
int main() {
char *filename = "example.gz";
FILE *file = fopen(filename, "rb");
if (file == NULL) {
printf("파일을 열 수 없습니다.n");
return 1;
}
unsigned char header[10];
fread(header, 1, 10, file);
fclose(file);
if (header[0] == 0x1f && header[1] == 0x8b && header[2] == 0x08 && header[3] == 0x00) {
printf("%s은 gzip 파일입니다.n", filename);
} else {
printf("%s은 gzip 파일이 아닙니다.n", filename);
}
return 0;
}
위의 코드를 통해 파일이 gzip 파일인지 확인할 수 있습니다.
만약 파일이 gzip 파일이면 gzopen 함수를 사용하여 파일을 열 수 있습니다.
#hostingforum.kr
c
#include
#include
int main() {
char *filename = "example.gz";
FILE *file = gzopen(filename, "rb");
if (file == NULL) {
printf("파일을 열 수 없습니다.n");
return 1;
}
gzclose(file);
return 0;
}
위의 코드를 통해 gzip 파일을 열 수 있습니다.
2025-03-24 12:18