【 在 yeshao@smth.org (fight through my way) 的大作中提到: 】
: hehe,写完了,请大家指教吧。
: flock(fileno(fp),LOCK_EX);
: while(fread(line,256,1,fp))
~~~~~~~~~~~~~~~~~ 直接这样子读不行吧?
应该是一个fileheader结构:
struct fileheader { /* This structure is used to hold data in */
char filename[STRLEN]; /* the DIR files */
char owner[STRLEN];
char title[STRLEN];
unsigned level;
unsigned char accessed[ 12 ]; /* struct size = 256 bytes */
} ;
所以应该是
struct fileheader line;
while(fread(line, sizeof(line), 1, fp)) {
直接用 rename 把 line.filename 移动到新目录,用system开销太大
}
: {
: sprintf(cmd,"cp %s/%14s %s/%14s",argv[1],line,argv[2],line);
: system(cmd);
: }
: flock(fileno(fp),LOCK_UN);
: fclose(fp);
: }
: 【 在 yanglc.bbs@bbs.pku.edu.cn (谁都不守候) 的大作中提到: 】
: : 写完后公开出来吧,利国利民,功德无量,呵呵。
--
FROM AfterDark