Пример #1
0
int main(int argc, char**argv){

    if(argc!=5)
    {
        print_man();
    }
    else
    {
        if(!strcmp(argv[1],"-s"))
        {
        printf("Splitting rom...\n");
        split_files(argv[2],argv[3],argv[4]);
        }
        else if(!strcmp(argv[1],"-m"))
        {
        printf("Merging rom...\n");
        merge_file(argv[2],argv[3],argv[4]);

        }
        else
        {
            print_man();
        }
    }

    return 0;
}
Пример #2
0
int main (int argc, char * argv[]) 
{

  if (argc < 3) 
  {
    printf("usage : %s wig bedfile1 name1 bedfile1 name2 ...\n", argv[0]) ;
    return 1 ;
  }

  char ** beds ; // array of char arrays 
  char ** names ; // same
  char * wig ; // array of chars (string)
  int i, j, k ; // count variables
  int num = ( argc - 1 ) / 2 ; // num of beds and names
  char ** chromosomes ; // common chrs
  int num_chrs ;
  char *** bedfiles ; // list of temp names (AAH **** ptr NO) (3D)
  char ** wigfiles ; // list of temp names
  // all this just to get filenames! make into seperate function with ***
  // why am I malloc - ing everything instead of char array[80] ? 
    // don't want filename char limits
  // remember to free() at end

  // DO NOT TOUCH THIS BLOCK !!! All segfaults solved <-------
  wig = (char *) malloc ( (strlen(argv[1]) + 1) * sizeof(char) ) ;
  beds = (char **) malloc (num * sizeof(char *)) ;
  names = (char **) malloc (num  * sizeof(char *)) ;
  int bedcount = 0;
  int namecount = 0 ;
  for (k = 0 ; k <= strlen(argv[1]) ; k++) 
    wig[k] = argv[1][k] ;

  for (i = 2 ; i < argc ; i++) {
    if (i % 2 == 0) 
    {
      beds[bedcount] = (char *) malloc (strlen(argv[i] + 1) * sizeof(char)) ;
      for (j = 0 ; j <= strlen(argv[i]) ; j++)
        beds[bedcount][j] = argv[i][j] ;
      bedcount++ ;
    }
    else
    {
      names[namecount] = (char *) malloc (strlen(argv[i] + 1) * sizeof(char)) ;
      for (j = 0 ; j <= strlen(argv[i]) ; j++)
        names[namecount][j] = argv[i][j] ;
      namecount ++ ;
    }
  }
  if (bedcount != namecount) 
  {
    printf("Error! Num of beds != Num of names! Bed : %d, Name %d\n", bedcount, namecount) ;
    printf("Exiting\n") ;
    return 1 ;
  }
  // got filenames
  if (validate(wig, beds, num)) 
  {
    printf ("Exiting\n") ;
    return 1 ;
  }
  // -----------> DO NOT TOUCH

  // should I do lowmem version?
  num_chrs = get_chrs(wig, beds, num, &chromosomes) ;
  split_files(wig, beds, num, chromosomes, num_chrs, &bedfiles, &wigfiles) ;  
  // there has to be a better way than this 
  // debug print statements
/*
  printf("wig : %s\n", wig) ;
  int n ;
  for (n = 0 ; n < num ; n ++) 
  {
    printf("bed %d : %s name : %s\n", n, beds[n], names[n]) ;
  }
*/
  return 0 ;
} // main ()