首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

ARM平台下fopen打开文件出现段异常

2012-03-03 
ARM平台下fopen打开文件出现段错误最近发现一个问题,我在linux系统下用fopen打开文件,编译能成功打开,交叉

ARM平台下fopen打开文件出现段错误
最近发现一个问题,我在linux系统下用fopen打开文件,编译能成功打开,交叉编译移植到开发板上,以写方式打开文件出现段错误,我的程序很简单,只是用来测试。程序如下:
#include<stdio.h>
void main()
{
  FILE *fp;
  fp=fopen("filename","w+");
  if(fp != NULL)
  printf("open\n");
  fclose(fp);
}
在linux系统下,gcc编译以读和写的方式fopen打开都成功,但交叉编译后,以写方式打开文件,出现段错误,当我把fp=fopen("filename","w+");改为fp=fopen("filename","r");时,程序能成功打开
急求大家帮忙解决



[解决办法]
代碼有一點小問題,如果文件不存在,fp==NULL,那麼在Linux上直接fclose(NULL)是會出現段錯誤的。
[解决办法]
用perror看看原因。

if (fp == NULL) // 出错
{
perror("open error");
return -1;
}

热点排行