2014-01-23 34 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

相關問題