相关疑难解决方法(0)

fclose()导致分段错误

我有一个制表符分隔的文本文件,我正在解析.其第一列包含格式的字符串chrX,其中X表示一组字符串,例如"1","2",......,"X","Y".

这些都存储在char*被调用chromosome的文件中.

文本文件按字典顺序排在第一列,即,我将有一些以"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
Run Code Online (Sandbox Code Playgroud)

我有一个openSourceFile定义如下的函数:

void openSourceFile (char** chrome, const char* field, FILE** filePtr, const char …
Run Code Online (Sandbox Code Playgroud)

c fopen segmentation-fault fclose

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

c ×1

fclose ×1

fopen ×1

segmentation-fault ×1