在eclipse中运行时,C fopen不会打开文件

时间:2012-03-16 12:54:12

标签: c eclipse fopen

我在使用fopen打开文件以便在eclipse中读取时遇到问题。我正在尝试打开的文件与所有程序文件位于同一目录中,它具有所有权限。但该程序无法找到该文件。

程序试图打开只有文件名的文件(没有路径):

if (!(file=fopen(name,"r"))){   
    fprintf(stderr,"Can't open file: '%s\n", name);
            exit(0);
}

对于具有所有权限的同一目录中的现有文件,我得到“无法打开文件:filename”。

当我从shell运行它时,它返回现有文件的分段错误。我猜它成功打开它,导致不存在的文件它返回找不到的文件。我认为它在程序中进一步遇到错误。

问题是,eclipse是否可以在其他目录中搜索而不是使用可执行文件?我怎么能找到它?我该如何解决?

2 个答案:

答案 0 :(得分:2)

“运行配置”对话框中的“Working Directory设置位于CDT的”参数“选项卡下。工作目录的值存储在启动配置(xml文件)中。默认位置是您当前的工作区。您可以将文件复制到此位置,或使用输入文件将位置更改为目录。您也可以使用绝对路径来确保。

答案 1 :(得分:1)

您尝试打开的文件与所有程序文件位于同一目录中,但这不是执行程序的目录。

您需要检查程序的创建位置,并将该文件放在同一目录中。