jrb_traverse(JRBnode, paths){ t = (tar*) JRBnode->val.v; if(verb){ if(S_ISDIR(t->istat.st_mode)) fprintf(stderr,"Directory: %s\n",t->name); if(S_ISREG(t->istat.st_mode)) fprintf(stderr,"File: %s\n",t->name); } fwrite(t->name,strlen(t->name),1,stdout); fprintf(stdout,"\n"); fwrite(&t->istat,sizeof(struct stat),1,stdout); if(S_ISREG(t->istat.st_mode)){ // printf("name is %s\n", t->name); is = new_inputstruct(t->name); if(is == NULL) { fprintf(stderr,"ERROR: invalid file/directory name provided\n"); exit(1); } buf = (void*) malloc(sizeof(char)*8192); size = t->istat.st_size; while(size > 0){ // printf("\nsize : %d\n", size); if(size < 8192) i = fread(buf,sizeof(char),size,is->f); else i = fread(buf,sizeof(char),8192,is->f); size -= fwrite(buf,sizeof(char),i,stdout); } jettison_inputstruct(is); free(buf); } }
void creat_btree(BTA* btact){ IS is; dict* dic; int i; btinit(); is=new_inputstruct("dictionary.txt"); if(is==NULL){ printf("Not exsit this file\n");return ; } while((get_line(is)>=0)){ dic=(dict*)malloc(sizeof(dict)); strcpy(dic->word,is->fields[0]); for(i=1;i<is->NF;i++){ strcat(dic->mean,is->fields[i]); if(i!=is->NF-1) strcat(dic->mean," "); } btins(btact,dic->word,(char*)dic,sizeof(dict)); //printf("%s\n",dic->word); } jettison_inputstruct(is); }
void creatBtreeUser(BTA* btUser){ IS is; USER* user; int i = 0; btinit(); is = new_inputstruct("user.txt"); if(is == NULL){ printf("Not exsit this file\n"); return; } while((get_line(is) >= 0)){ user = (USER*)malloc(sizeof(USER)); strcpy(user->userName,is->fields[0]); strcpy(user->passWord,is->fields[1]); user->rights = atoi(is->fields[2]); btins(btUser,user->userName,(char*)user,sizeof(USER)); if(i == 0) root = user; else i++; } jettison_inputstruct(is); }
main (int argc, char *argv[]) { int i, j, k, start, size; unsigned char *buffer; char row_file[512]; double ssi; FILE *fp, *matrix; IS is; if (argc != 3) { printf("usage: bov2csv ssi_matrix.dat size\n"); exit(1); } matrix = fopen(argv[1], "rb"); if (matrix == NULL) { perror(argv[1]); exit(1); } if (sscanf(argv[2], "%d", &size) == 0 || size < 0) { printf("Error:: not a valid size\n"); exit(1); } buffer = (unsigned char *)malloc(sizeof(unsigned char) * size * size); // read matrix into buffer fread(buffer, sizeof(unsigned char), size*size, matrix); fclose(matrix); // read species from stdin // for each one, make separate file with appropriate row out of matrix i = 0; is = new_inputstruct(NULL); while(get_line(is) >= 0) { sprintf(row_file, "for_web/ssi_rows/%s.txt", is->fields[0]); fp = fopen(row_file, "w"); start = i * size; for(j = 0; j < size; j++) { fprintf(fp, "%d\n", buffer[start+j]); } //printf("field 0 is %s\n", is->fields[0]); fclose(fp); // print out header line incrementally if(i == 0) { printf("%s", is->fields[0]); } else printf(",%s", is->fields[0]); i++; } printf("\n"); jettison_inputstruct(is); // write out csv file of whole matrix for (i = 0; i < size; i++) { for (j = 0; j < size; j++) { k = buffer[i*size+j]; k = 255 - k; // ADDING THIS TO TAKE CARE OF ZEROS if(k == 0 && i != j) k = 1; //if(k==0) ssi = 0.001; //else ssi = (double)255.0/k; //else ssi = k / (double)255.0; ssi = k / (double)255.0; if(j==0) { printf("%lf",ssi); } else printf(",%lf",ssi); } //end reading each field per line printf("\n"); } //end checking rows free(buffer); } //end main