2010-06-22 45 views
4

嘿,我在哪裏放置一個文本文件,我想用fstream讀取?他們說http://www.gamedev.net/reference/articles/article1127.asp,他們說在哪裏放置文件以便閱讀?

ifstream fin(「input.txt」);

「input.txt」在哪裏?在我嘗試通過執行「C:\ Users \ XXXXXXX \ Documents \ test.in」指向文件的路徑之前。然而這似乎並不奏效,Incorrect data input with fstream

我正在使用CodeBlocks。

在此先感謝。

+0

的調試/ release文件夾如果您在字面使用Microsoft路徑分隔符字符串,你必須用另一個反斜槓來轉義它。所以:'「C:\\ Users \\ XXXXXXX \\ Documents \\ test.in」'會工作得更好一點。 – 2010-06-23 00:35:02

回答

4

input.txt應該在工作目錄中。通常工作目錄是包含可執行文件的目錄。在Visual Studio的情況下,可以在調試選項中設置在調試器中運行時的工作目錄。

1

這取決於您的系統,但在大多數情況下,如果您打開一個具有相對路徑的文件,它將找到與該進程的工作目錄相關的文件(即相對於您啓動該文件的位置程序)。

因此,如果您只是嘗試打開「input.txt」,它可能會查看您啓動程序的目錄。

0

我仍然會說指定的路徑,而不是依靠當前的工作目錄(雖然由於某種原因,它以前沒有爲你工作)。

試試看: ifstream fin(「C:/MyDir1/MyDir2/input.txt」);

或者: ifstream fin(「C:\ MyDir1 \ MyDir2 \ input.txt」);

還要確保您的程序(它運行的帳戶)至少具有此文件的讀取權限。

0

如果你仍然在代碼:: Blocks的興趣,你需要修改Target Properties,去Project -> Properties -> Build targets和改變Executing Working Dir爲您的項目

相關問題