int main() { trave_dir("data", "data/media"); printf("\n"); return 0; }
void *trave_dir(void *b,int depth) { buddy_dir *data = (buddy_dir *)b; DIR *dir; struct dirent *file; struct stat sb; char *path = "./"; /* * open dir */ dir = opendir(path); if(!dir) { printf("Error opendir %s\n",path); exit(1); } while((file = readdir(dir)) != NULL) { if(strncmp(file->d_name,".",1) == 0) continue; strcpy(data->a[data->size++],file->d_name); printf("size :%d\n",data->size); if(stat(file->d_name,&sb) >= 0 && S_ISDIR(sb.st_mode) && depth <= 3) { trave_dir(data,depth + 1); } } closedir(dir); return data; }
int main() { int i; printf("this file is about to display any file modified today\n"); printf("this demo is copyright@LIU YING\n"); trave_dir(".");//trave_dir("./ChildrenDir"); return 0; }
int main() { buddy_dir *data = malloc(sizeof(buddy_dir)); data->size = 0; data = (buddy_dir *)trave_dir(data,0); while(data->size-- >0) printf("aaa%s\n",data->a[data->size]); return 0; }
int main(int argc,char *argv[]){ if ( argc < 3 ){ printf("input error:handle splitnum\n"); return -1; } FILE *fp; wam_init(NULL); WAM *w; u_int id; char *name; w = wam_open(argv[1]); if(!w){ printf("wamopen error\n"); return -1; } int i,j; struct syminfo qq[1000]; struct syminfo *q = qq; /* q.id = id; q.TF_d = 1; q.TF = 1; q.weight = NaN; q.attr = WSH_OR; */ char ** sw = malloc(100 * sizeof( char* ) );; int sw_len = sw_init(sw); char** filename = malloc(4000 * sizeof(char*) ); int filenum = trave_dir("/home/ko/topics/",filename); char temp[100] , *p, *term[1000]; ssize_t k = 0; int l; for(j=0;j<filenum;j++){ k = 0; fp = fopen(filename[j],"r"); printf("%s\n",filename[j]); term[k] = malloc( 100*sizeof(char) ); while(fscanf(fp,"%s",term[k]) != EOF){ k++; term[k] = malloc( 100*sizeof(char) ); } free(term[k]); fclose(fp); char opfile[50]; if ( strcmp(argv[2] , "all" ) == 0 ){ snprintf(opfile,50,"%s/split/%s",RESULTPATH,filename[j]+strlen(filename[j])-8); fp = fopen(opfile,"w"); for(l=0;l<k;l++){ ssize_t kk = 1; query(q,w,&term[l],&kk,0,sw,sw_len); if(kk <= 0){ continue; } ssize_t len = 0; ssize_t num = 1000; struct syminfo *result = wsh(q,kk,w,WAM_COL,WT_SMARTAW,&num,&len); fprintf(fp,"query:%d\nnum:%d\nresult:%d\n",kk,num,len); for(i=0;i<num;i++){ fprintf(fp,"name:%s df_d:%d df:%d tf_d:%d tf:%d weight:%lf\n",wam_id2name(w, WAM_ROW, result[i].id),result[i].DF_d,result[i].DF,result[i].TF_d,result[i].TF,result[i].weight); } } fclose(fp); }else{ int SPLIT = atoi(argv[2]); snprintf(opfile,50,"%s/%d/%s",RESULTPATH,SPLIT,filename[j]+strlen(filename[j])-8); //printf("file:%s\n",opfile); fp = fopen(opfile,"w"); for(l=0;l<SPLIT;l++){ ssize_t kkk = k/SPLIT; ssize_t kk = kkk; if(l == SPLIT-1) kk = k - kkk*l; query(q,w,&term[kkk*l],&kk,0,sw,sw_len); ssize_t len = 0; ssize_t num = 1000; if(kk <= 0){ printf("qlen <= 0\n"); fprintf(fp,"query:%d\nnum:%d\nresult:%d\n",kk,0,len); continue; } struct syminfo *result = wsh(q,kk,w,WAM_COL,WT_SMARTAW,&num,&len); if(len > 1000) printf("%s over 1000\n",filename[j]); fprintf(fp,"query:%d\nnum:%d\nresult:%d\n",kk,num,len); for(i=0;i<num;i++){ fprintf(fp,"name:%s df_d:%d df:%d tf_d:%d tf:%d weight:%lf\n",wam_id2name(w, WAM_ROW, result[i].id),result[i].DF_d,result[i].DF,result[i].TF_d,result[i].TF,result[i].weight); } } fclose(fp); } } return 0; }