Beispiel #1
0
	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);
		}
		
	}
Beispiel #2
0
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); 
}
Beispiel #3
0
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