2012-09-20 23 views
1

MFC應用程序中我有一個文件瀏覽按鈕。當我點擊它並選擇一個文件時,文件被加載並且事情都很好。從MFC的文件打開對話框中選擇文件後,fopen()不起作用

之後,我有一個函數,它試圖使用fopen(),打開另一個文件,但不能打開文件,儘管文件存在。如果我在文件瀏覽對話框中選擇取消,fopen()可以正常工作,但只要我使用文件瀏覽對話框選擇文件,fopen不起作用。

有人可以告訴爲什麼會發生這種情況。

+2

請問您可以分享代碼嗎?很難調試一個問題,並且更容易閱讀代碼。 – Ram

+0

不相關,但我很好奇你爲什麼使用'fopen'而不是'fstream'? –

+0

可能會像權限問題一樣簡單...檢查errno的線索 – mark

回答

2

也許你通過相對路徑指定第二個文件,並在使用對話框打開第一個文件後,工作目錄被更改。當你按Cancel時,工作目錄不會改變,它的工作原理。

解決此問題的方法是使用完整的非相對路徑指定第二個文件。

+0

我試過使用非相對路徑,但它力度的工作。相反,我用fsteam :: good來檢查文件是否存在,它的工作正常。我不知道fopen有什麼問題,但fstream很好。反正謝謝Psur。 – user1685827

相關問題