c语言打开文件出现分段故障,c fclose() 导致分段故障_segmentation-fault_开发99编程知识库...
我有一個製表符分隔的文本文件,我正在解析。 第一列包含 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, const char* field, FILE** filePtr, const char *path) {
char filename[100];
*chrome = (char *) malloc ((size_t) strlen(field));
if (*chrome == NULL) {
fprintf(stderr,"ERROR: Cannot allocate memory for chromosome name!");
exit(EXIT_FAILURE);
}
strcpy(*chrome, field);
sprintf(filename,"%s%s.fa", path, field);
*filePtr = fopen(filename,"r");
if (*filePtr == NULL) {
fprintf(stderr,"ERROR: Could not open fasta source file %sn", filename);
exit(EXIT_FAILURE);
}
}
問題是,我的應用程序退出了從第一個染色體到第二個( 從 chr1 到 chr2 )的分割錯誤,我關閉了第一個染色體文件:fclose(merbaseIn);
我知道我沒有傳遞 fclose的空指針,因為直到分割錯誤,我正在從這個文件中讀取數據。 我甚至可以用一個條件包起來,但我仍然有錯誤:if (merbaseIn!= NULL) {
fclose(merbaseIn);
}
而且,我知道 openSourceFile 是( 至少對於 chr1,在設置 FILE*的第一個文件句柄時),因為我的應用程序解析 chr1 行,並正確地從 FILE* 源文件讀取數據。
這個 fclose 調用引起一個分段錯誤的原因是什麼?
c语言打开文件出现分段故障,c fclose() 导致分段故障_segmentation-fault_开发99编程知识库...相关推荐
- linux 协议错误,在linux客户机上:协议错误,Vagrant无法挂载同步的文件夹_vagrant_开发99编程知识库...
使用一個 Windows 主機和一個運行在in的Linux客戶機使用同步文件夾,我有一個奇怪的問題. 在第一個引導( 或者在 vagrant destroy 之後) 中,項目文件夾掛載到/vagran ...
- 决策树c语言程序代码,R C5.0 决策树c50代码,名为 exit 1_r_开发99编程知识库
我收到以下错误 c50代码,名为 exit exit exit 我是根据Kaggle提供的泰坦尼克数据做# Importing datasets train # this is the structu ...
- c语言多线程编程随机数,在c 中使用线程安全的随机数,多线程_c_开发99编程知识库...
我一直試圖通過檢查,並且傳遞 2億個隨機數,並在線程之間劃分它們. 一旦達到 1億個隨機數我一直得到一個錯誤. 我在哪裡分配錯誤或者我做錯了什麼?struct thread { long long i ...
- c语言实现自动打开文件夹,c语言打开文件(c语言文件打开方式代码)
1.2 文件的输入输出函数 键盘.显示器.打印机.磁盘驱动器等逻辑设备, 其输入输出都可以通过文件管理的方法来完成.而在编程时使用最多的要算 是磁盘文件, 因此. { printf("File ope ...
- c语言文件打开方式字符串,C语言打开文件-C语言打开文件的方式-C语言以只读方式打开文件-C语言以读写方式打开文件-嗨客网...
C语言打开文件教程 在 在 C 语言中,打开文件使用 fopen C语言fopen函数详解 语法 FILE *fopen(char *filename, char *mode); 参数 参数 描述 f ...
- c语言打开文件出现分段故障,C文件I / O中的分段故障11(Segmentation Fault 11 in C File I/O)...
C文件I / O中的分段故障11(Segmentation Fault 11 in C File I/O) 我正在编写一个函数来搜索格式如下的文本文件: #用户1 \路径\ #用户2 \路径\ #用户 ...
- c语言打开文件出现分段故障,分割故障的常见原因的确定列表
肥皂起泡泡 警告!以下是电势分割错误的原因.几乎不可能列出所有的理由...此列表的目的是帮助诊断现有的分段故障.分割错误与未定义行为的关系不可能压力够大了!以下所有可能造成分段错误的情况在技术上都是未 ...
- c语言打开文件出现分段故障,我不明白为什么我使用ifstream时出现分段错误
我对C++相当陌生.我试图打开一个文件并将其传递给另一个方法,以便我可以从ifstream读取数据.这是打开文件的方法.我不明白为什么我使用ifstream时出现分段错误 int main() { / ...
- 用C语言打开文件的几种方式及区别
文件使用方式 含义 如果指定的文件不存在 r(只读) 读取一个已经存在的文本文件 出错 w(只写) 打开一个文本文件,输出数据,若文件存在则文件长度清为0,即该文件内容会消失 建立新文件 a (追加) ...
最新文章
- 电脑文件加密_电脑文件加密软件哪个好?企业加密软件排行榜
- 单系统站内信数据库设计思路
- C++知识点13——友元,类的声明
- 【异常-举例6:finally】
- AF_UNIX和AF_INET
- 李洪强iOS经典面试题36-简单介绍 ARC 以及 ARC 实现的原理
- php 函数变量的顺序,PHP实现参数的自定义顺序调用 | 剑花烟雨江南
- 还没使用过Web Worker? 推荐一款开源工具Workerize-Loader,让你在webpack项目中轻松使用Web Worker
- Android系统(109)---ADB命令
- 安卓文件操作全解:内部文件、公共文件、私有文件、app静态文件
- qdir 自动创建多级目录_QDir 类 - 目录信息类
- python pandas安装不了_python安装pandas问题!python pandas安装教程
- 初步认识Apache Ignite
- java 保存对象_Java将对象保存到文件中/从文件中读取对象
- outlook服务器邮件满了怎么办,Outlook邮箱不能接收邮件提示邮件箱已满怎么办?
- 手机连接ftp文件服务器,手机链接ftp服务器地址
- 离散数学 1. 符号表、集合和命题
- 高手UI设计师干货总结分享品牌LOGO设计的过程要求及方法
- The North American Invitational Programming Contest 2016 I-Tourists
- MySQL连接速度太慢_mysql-连接速度非常慢(1秒)
热门文章
- NSEnumerator使用
- 关于JVM的几道面试题
- STL 容器和迭代器连载8_访问顺序容器的元素
- 山寨威武 仿冒Xoom先于行货获得Android 4.0升级
- 解决FastJson中“$ref 循环引用检测”的问题的几种方式
- 木兰已出现,木兰已死?
- Transformer-XL语言模型:超长上下文依赖
- pip install mysqlclient 报错:error: Microsoft Visual C++ 14.0 is required.
- 初创企通过哪里报名可参与赛事活动
- C++函数返回局部变量