Example #1
0
static int calc_share_size(mkey_t *share, mkey_t *delt)
{
    if (share == delt || share->data == delt->data) return 0;

    int len = seek_prefix(delt->data, delt->len, share->data, share->len);
    if (len < 0) len = 0;

    return len;
}
int main(int argc, char* argv[])
{
    int proc_number = atoi(argv[1]);
    std::string seek_prefix(argv[2]);
  
    std::ifstream src;  src.open (argv[3]);
    
    
    std::cout << "Splitting " << proc_number << " processor file " << argv[3] << " using prefix " << seek_prefix << std::endl;
    
    
    std::ofstream outs[proc_number];
    for (int i = 0; i < proc_number; i++) {  
      std::string tmp_name = "out/out" + std::to_string(i) + ".txt";
      outs[i].open( tmp_name ); 
    }
    
    std::string tmp_line;
    
    if (src.is_open())
    {
        while ( getline (src, tmp_line) )
        {
            for (int i = 0; i < proc_number; i++)
            {
                if (tmp_line.find(seek_prefix + std::to_string(i)) != std::string::npos) { outs[i] << tmp_line << std::endl; }
            }
      
        }
      src.close();
    }
    
    for (int i = 0; i < proc_number; i++) { outs[i].close();}
    
    
    return 0;
}