2011-04-21 107 views
0

我在dll代碼中打開文件。我正在使用fopen。由fopen返回的指針爲NULL。我究竟做錯了什麼?在dll內打開文件時出錯

pFile = fopen("C:\\Users\\bruce\\Desktop\\log.txt","w"); 

我用調試器運行代碼。該文件被創建,但通過fopen返回的指針爲NULL會拋出當我使用fopen()失敗fprintf

+1

你應該發佈你正在使用的代碼。有很多事情你可能會做錯,例如文件真的存在嗎?你以什麼模式打開它?你的進程運行的用戶是否有足夠的權限來打開它? – Pablo 2011-04-21 09:15:18

+1

你有任何的代碼? :)你正在創建/打開一個現有的文件?您有權限訪問該文件嗎?... – forsvarir 2011-04-21 09:15:19

+1

流程的當前目錄是您期望的嗎?每個進程只有*一個*當前目錄。什麼是'errno'? – 2011-04-21 09:17:23

回答

1

後異常,錯誤結果存儲在errno全局變量(一定要#include <errno.h>)。 strerror()函數可以將errno數字轉換爲可讀的字符串。