91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

fopen打開文件失敗過程分析

發布時間:2020-07-27 10:43:57 來源:網絡 閱讀:6447 作者:fengyuzaitu 欄目:編程語言

場景說明

        協助同事解決fopen打開文件永遠返回-1的異常情況。在解決問題的時候,先入為主的認為是:文件路徑出現了字符轉義的問題,根本沒有想到要打印出當前無法獲取到文件句柄的錯誤,是否是文件路徑不存在。所以一開始就是將\替換為/,然后替換為\\,還是不行。

        單獨寫最簡單的測試程序,沒有問題。懷疑是Unicode編碼的問題,也排除了。這時候就開始百度fopen失敗的原因獲取。剛開始的時候準備使用GetLastError函數,但是不能夠確定是否是專屬用于windows API,所以繼續百度下面的結果:

fprintf(stderr, "%s \n",strerror(errno));結果沒有任何的效果

如下是一段有用的信息:

        fopen內部用了CreateFile函數,所以fopen調用失敗的情況下,也可以使用GetLastError查看錯誤代碼。


解決方案:

    打開文件失敗,調用GetLastError()函數,獲取到DWORD的值是32,然后打開工具,選擇查看錯誤碼:進程無法訪問文件,因為另一個程序正在訪問該文件。通過查看所有的關于該文件的引用,果然發現確實已經有地方打開編輯該文件。


反思:如果是字符轉義,肯定就是無法打開一個不存在的文件,只要通過獲取錯誤碼就可以解決這個問題。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

抚顺市| 夏邑县| 贺州市| 福安市| 益阳市| 新巴尔虎左旗| 贵州省| 新蔡县| 金山区| 隆子县| 万安县| 毕节市| 巫山县| 景宁| 高清| 西贡区| 交口县| 永清县| 徐州市| 秦皇岛市| 平定县| 定日县| 荣昌县| 新乡市| 将乐县| 永新县| 大英县| 乌兰浩特市| 虎林市| 邻水| 磴口县| 济南市| 新源县| 长沙市| 海晏县| 垣曲县| 霞浦县| 将乐县| 加查县| 阜平县| 新建县|