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

标签 c eclipse fopen

<分区>

我在使用 fopen 打开文件以在 eclipse 中读取时遇到问题。我试图打开的文件与所有程序文件位于同一目录中,它已授予所有权限。但是程序找不到该文件。

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

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

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

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

问题是 eclipse 会不会在其他目录而不是带有可执行文件的目录中搜索?我怎样才能找到它?我该如何解决?

最佳答案

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

关于C fopen 在 eclipse 中运行时不会打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9737630/

相关文章:

C - 我的程序从文件读取后打印奇怪的东西

c - 如何在没有 Glibc 的情况下在 C 中使用内联汇编获取参数值?

c++ - 您如何输出从右到左阅读的语言?

c - 如何创建指向二维指针数组的指针 - C

java - 无法在 Eclipse Google App Engine 项目中添加 servlet

java暂停脚本的替代方法

eclipse - 将 JAR 添加到 Eclipse Java 库

c - Pthread 条件语句

ios - 如何将 xcode 中导入的 .db 文件直接移动到 iPhone

c - 在 C 中一起使用 fscanf 和 fprintf