在MFC應用程序中我有一個文件瀏覽按鈕。當我點擊它並選擇一個文件時,文件被加載並且事情都很好。從MFC的文件打開對話框中選擇文件後,fopen()不起作用
之後,我有一個函數,它試圖使用fopen(),
打開另一個文件,但不能打開文件,儘管文件存在。如果我在文件瀏覽對話框中選擇取消,fopen()
可以正常工作,但只要我使用文件瀏覽對話框選擇文件,fopen不起作用。
有人可以告訴爲什麼會發生這種情況。
在MFC應用程序中我有一個文件瀏覽按鈕。當我點擊它並選擇一個文件時,文件被加載並且事情都很好。從MFC的文件打開對話框中選擇文件後,fopen()不起作用
之後,我有一個函數,它試圖使用fopen(),
打開另一個文件,但不能打開文件,儘管文件存在。如果我在文件瀏覽對話框中選擇取消,fopen()
可以正常工作,但只要我使用文件瀏覽對話框選擇文件,fopen不起作用。
有人可以告訴爲什麼會發生這種情況。
也許你通過相對路徑指定第二個文件,並在使用對話框打開第一個文件後,工作目錄被更改。當你按Cancel
時,工作目錄不會改變,它的工作原理。
解決此問題的方法是使用完整的非相對路徑指定第二個文件。
我試過使用非相對路徑,但它力度的工作。相反,我用fsteam :: good來檢查文件是否存在,它的工作正常。我不知道fopen有什麼問題,但fstream很好。反正謝謝Psur。 – user1685827
請問您可以分享代碼嗎?很難調試一個問題,並且更容易閱讀代碼。 – Ram
不相關,但我很好奇你爲什麼使用'fopen'而不是'fstream'? –
可能會像權限問題一樣簡單...檢查errno的線索 – mark