我在使用fopen打开文件以便在eclipse中读取时遇到问题。我正在尝试打开的文件与所有程序文件位于同一目录中,它具有所有权限。但该程序无法找到该文件。
程序试图打开只有文件名的文件(没有路径):
if (!(file=fopen(name,"r"))){
fprintf(stderr,"Can't open file: '%s\n", name);
exit(0);
}
对于具有所有权限的同一目录中的现有文件,我得到“无法打开文件:filename”。
当我从shell运行它时,它返回现有文件的分段错误。我猜它成功打开它,导致不存在的文件它返回找不到的文件。我认为它在程序中进一步遇到错误。
问题是,eclipse是否可以在其他目录中搜索而不是使用可执行文件?我怎么能找到它?我该如何解决?
答案 0 :(得分:2)
“运行配置”对话框中的“Working Directory
设置位于CDT的”参数“选项卡下。工作目录的值存储在启动配置(xml文件)中。默认位置是您当前的工作区。您可以将文件复制到此位置,或使用输入文件将位置更改为目录。您也可以使用绝对路径来确保。
答案 1 :(得分:1)
您尝试打开的文件与所有程序文件位于同一目录中,但这不是执行程序的目录。
您需要检查程序的创建位置,并将该文件放在同一目录中。