■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50
【2ちゃんねるビューア】 巡回機能の巻。Part3
- 412 :試してないよ :02/03/25 05:01 ID:???
- #include <stdio.h>
#include <sys/mman.h>
#include <zlib.h>
#ifndef MAP_FAILED
#define MAP_FAILED (void *)(-1)
#endif
#defineCOMPRESS_FLAG"wb6"/* wb1-wb9 */
void compress_one(const char *fname)
{
int fd;
void *buf;
int fd = open(fname, O_RDONLY);
if (fd >= 0) {
struct stat st;
if (fstat(fd, &st) == 0) {
buf = (char *)mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, fd, 0);
if (buf != MAP_FAILED) {
char gzname[256];
sprintf(gzname, "%s.gz", fname);
gzFile file = gzopen(gzname, COMPRESS_FLAG);
if (file) {
gzwrite(file, buf, st.st_size);
gzclose(file);
}
munmap(buf, st.st_size);
}
}
close(fd);
}
}
void compress(const char *bbs, const char *fname)
{
char fnbuf[256];
sprintf(fnbuf, "%200s/%30s", bbs, fname);
compress_one(fnbuf);
}
int main(int ac, char **av)
{
if (++av, --ac) {
compress(*av, "index.html");
compress(*av, "subback.html");
compress(*av, "subject.txt");
}
return 0;
}
283KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30