■スレッドリストへ戻る■ 全部 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