打开文件目录问题

时间:2011-03-25 17:25:32

标签: c linux

我正在运行Linux操作系统并尝试在C编译器中打开文件,如下所示:

  file = fopen ("list.txt", "r");

但文件没有打开!

当我按照这样的完整路径时:

   file = fopen ("/home/rami/Desktop/netfilter/list.txt", "r");

它正在运作!

为什么第一个例子不起作用?

  • list.txt与c文件位于同一目录中 感谢。

3 个答案:

答案 0 :(得分:5)

重要的不是C文件的目录,而是 your current working directory 。尝试

cd /home/rami/Desktop/netfilter

在运行可执行文件之前。

答案 1 :(得分:2)

您知道为什么该文件未打开?

始终检查fopen()(以及大多数其他功能)的返回值并报告可读错误。

file = fopen("file.txt", "r");
if (!file) {
    perror("file open");
    exit(EXIT_FAILURE);
}

我看到你已经发现了你的问题,但以上是对未来的建议(并改变你当前的项目)

答案 2 :(得分:0)

可执行文件是否也与list.txt的目录相同?

编辑:其实没关系。根据另一个答案,它是当前工作的目录。