2012-03-29 87 views
1

我已經在VS2010中創建了一個控制檯應用程序,並且我想在運行exe的當前目錄中創建一個文件。我用下面的代碼fopen不會在當前目錄中創建文件

fp = fopen("Pkts.csv", "w+");

但並不在當前目錄得到創建的文件和文件指針不爲NULL。但是,當我指定路徑

fp = fopen("C:\\Windows\\Pkts.csv", "w+");

的文件被在指定的路徑創建。如何在當前目錄中創建文件?

+0

您是否正在Visual Studio中運行'.exe'(使用「開始調試」或「無調試開始」選項)?嘗試從命令行運行(或直接雙擊它)。 – 2012-03-29 05:19:29

+0

你是什麼意思「exe運行的地方」? – 2012-03-29 05:19:47

+0

我將exe複製到另一臺機器上,並從命令行運行它 – indira 2012-03-29 05:20:24

回答

1

什麼是fp當你試圖在當前目錄中打開它的值?如果它爲空,則出現問題。這可能是一個許可問題。如果沒有,那麼你應該確保該文件不是通過寫入該文件然後嘗試再次打開它(也許你正在查看錯誤的目錄並假設它是工作目錄)在別處創建的。

+0

fp值不爲空 – indira 2012-03-30 09:28:46

0

從Visual Studio中運行.exe時。該文件將在您的項目目錄的根目錄中創建。 嘗試運行.exe而不是Visual Studio

+0

[OP已經嘗試直接從命令行運行它](http://stackoverflow.com/questions/9919458/fopen-doesnt-create-file-in -the-當前目錄#comment12660129_9919458)。 – 2012-03-29 05:26:25

+0

那麼你能爲我提供更多信息嗎? – 2012-03-29 07:14:53

+0

如果正確指定了路徑,則會創建文件。如果我喜歡在運行exe的同一目錄中創建文件,則不會創建該文件 – indira 2012-03-30 07:22:59

相關問題