2014-01-23 35 views
0

我试图在C程序中打开文件,但我不确定放置要打开的文件的位置(如在哪个目录中)。这里是代码,但我真的只需要知道在哪里放置我想用fopen()打开的文件。如何把文件放在C程序可以访问它们?

FILE *fileptr; 

fileptr = fopen("QuizQuestions.txt", "r"); 
if (fileptr == NULL) { 
    printf("Unable to open file."); 
} 

任何帮助表示赞赏!

回答

1

如果您在代码中未使用绝对路径名,则路径将在用户运行程序时相对于用户的工作目录进行解释。所以对于你的程序,用户应该把文件放在当前目录中。

程序本身的位置是不相关的。如果你想获得该程序的位置,你看到了这个问题:

How do I find the location of the executable in C?

然后,您可以用文件名串联的目录。

+0

非常感谢。有什么办法可以使它从程序本身的相同目录中读取? – Rohan

0

您需要保留放置源代码文件的文件。否则,您需要提供绝对路径。

+0

与源代码相同的目录是否正确?因为我有那里的文件,但'fopen()'保持返回NULL。 – Rohan

+0

@Rohan我也试过你的代码,它不返回NULL。请让我再说一遍,在你的情况下,你应该保存你有.c/.cpp文件的文件。 –

+0

这是错误的。源代码不相关,路径名相对于用户的工作目录进行解释。 – Barmar

相关问题