我有一个制表符分隔的文本文件,我正在解析。 其第一列包含格式为chrX字符串,其中X表示一组字符串,例如“1”,“2”,......,“X”,“Y”。
当解析文件时,这些都存储在称为chromosome的char* 。
文本文件按字典顺序排在第一列,即,我将有一些以“chr1”开头的行,然后是“chr2”等。
在每个“chrX”条目中,我需要打开与此条目关联的另一个文件:
FILE *merbaseIn;
// loop through rows...
if (chromosome == NULL)
openSourceFile(&chromosome, fieldArray[i], &merbaseIn, GENPATHIN);
else {
if (strcmp(chromosome, fieldArray[i]) != 0) { // new chromosome
fclose(merbaseIn); // close old chromosome FILE ptr
free(chromosome); // free old chromosome ptr
openSourceFile(&chromosome, fieldArray[i], &merbaseIn, GENPATHIN); // set up new chromosome FILE ptr
}
}
// parse row
我有openSourceFile函数,定义如下:
void openSourceFile (char** chrome, cons