//TODO optimize this thing void writeResultsFile(string dataFileName, string yDimension, vector<double> * pValues) { NcFile file(dataFileName.c_str(), NcFile::ReadOnly); NcVar *geneNames = file.get_var("gene"); int dataYsize = file.get_dim(yDimension.c_str())->size(); FILE * pFile; pFile = fopen ("results.txt","w"); cout << "Writing results to file.." << endl; int percentage = dataYsize / 10; int percentageCount = 10; for(int i = 0; i < dataYsize; i++){ char * c = geneNames->as_string(i*28); std::string str; if(pValues->at(i) > 0.05){ std::ostringstream strs; strs << pValues->at(i); str = strs.str(); }else{ str = "NA"; } fprintf (pFile, "%-20s-%20s", c, str.c_str()); fprintf (pFile, "\n"); if(i == percentage) { cout << percentageCount << "% complete" << endl; percentageCount += 10; percentage += dataYsize / 10; } delete c; } fclose(pFile); }