我已經在VS2010中創建了一個控制檯應用程序,並且我想在運行exe的當前目錄中創建一個文件。我用下面的代碼fopen不會在當前目錄中創建文件
fp = fopen("Pkts.csv", "w+");
但並不在當前目錄得到創建的文件和文件指針不爲NULL。但是,當我指定路徑
fp = fopen("C:\\Windows\\Pkts.csv", "w+");
的文件被在指定的路徑創建。如何在當前目錄中創建文件?
我已經在VS2010中創建了一個控制檯應用程序,並且我想在運行exe的當前目錄中創建一個文件。我用下面的代碼fopen不會在當前目錄中創建文件
fp = fopen("Pkts.csv", "w+");
但並不在當前目錄得到創建的文件和文件指針不爲NULL。但是,當我指定路徑
fp = fopen("C:\\Windows\\Pkts.csv", "w+");
的文件被在指定的路徑創建。如何在當前目錄中創建文件?
什麼是fp
當你試圖在當前目錄中打開它的值?如果它爲空,則出現問題。這可能是一個許可問題。如果沒有,那麼你應該確保該文件不是通過寫入該文件然後嘗試再次打開它(也許你正在查看錯誤的目錄並假設它是工作目錄)在別處創建的。
fp值不爲空 – indira 2012-03-30 09:28:46
從Visual Studio中運行.exe時。該文件將在您的項目目錄的根目錄中創建。 嘗試運行.exe而不是Visual Studio
[OP已經嘗試直接從命令行運行它](http://stackoverflow.com/questions/9919458/fopen-doesnt-create-file-in -the-當前目錄#comment12660129_9919458)。 – 2012-03-29 05:26:25
那麼你能爲我提供更多信息嗎? – 2012-03-29 07:14:53
如果正確指定了路徑,則會創建文件。如果我喜歡在運行exe的同一目錄中創建文件,則不會創建該文件 – indira 2012-03-30 07:22:59
您是否正在Visual Studio中運行'.exe'(使用「開始調試」或「無調試開始」選項)?嘗試從命令行運行(或直接雙擊它)。 – 2012-03-29 05:19:29
你是什麼意思「exe運行的地方」? – 2012-03-29 05:19:47
我將exe複製到另一臺機器上,並從命令行運行它 – indira 2012-03-29 05:20:24