vc程序在win10下面使用fopen 打開文件失敗,在網上查 了下是因為UAC權限的問題如下:
由於windows vista win7 win8 win 10 添加了UAC權限,所以會導致 在系統盤下 創建文件失敗。返回拒絕訪問錯誤。
UAC是微軟為了提高Windows的安全性,自Windows Vista開始引入的新安全機制。
傳統的NT內核系統依靠access token來做權限處理,access token由當前用戶所在的用戶組的權限決定。而由於長期以來的不當使用習慣問題,幾乎所有Windows上用戶所在的組都是管理員。
在啟用UAC之后,系統會額外引入一個filtered token,並且這個token默認只能按照Standard User的權限去執行。所以這個token也通常被叫做limited filtered token。
因為使用的vs程序可以直接在 Visual Studio 上進行提升UAC 權限:
上圖是UAC 的默認級別:asInvoker (/level='asInvoker')
然后把該權限提升為:highestAvailable (/level='highestAvailable')
其他的設置不用動,這樣在win10下就可以使用fopen打開成功了。
參考:https://blog.csdn.net/jiangdong2007/article/details/49287063