2011-03-25 72 views
0

我运行的Linux操作系统,并试图在C编译器打开文件是这样的:打开文件目录问题

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

但该文件没有运行结束!

,当我把这样的完整路径:

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

这是工作!

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

  • list.txt在c文件 的同一目录下谢谢。
+1

当你运行该程序,你从与c文件和list.txt相同的文件夹运行它? – n00dle 2011-03-25 17:27:30

回答

0

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

编辑:其实没关系。根据其他答案,这是当前工作目录。

2

你知道吗为什么该文件没有打开?

总是检查返回值fopen()(和大多数其他功能)并报告可读的错误。

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

我看你已经找到了你的问题是什么,但上面是建议未来的(和改变当前项目)

+0

这是很好的建议谢谢 – Rami 2011-03-26 18:59:46