Exemplo n.º 1
0
int main()
{
	trave_dir("data", "data/media");

	printf("\n");
	return 0;
}
Exemplo n.º 2
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;
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
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;
}
Exemplo n.º 5
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;
}