[英]Fail to create a .txt file and write to it in C++?
在我的一個函數(由main()
調用main()
,我有以下非常簡單的測試片段。
ofstream outFile;
outFile.open("C:\\Program Files\\data\\test.txt");
outFile << "test\n";
outFile.close();
運行代碼后,我沒有看到文件出現。 為什么會這樣?
不幸的是,C ++沒有指定任何方法來獲得更詳細的錯誤。 請參閱獲取std :: fstream失敗錯誤消息和/或異常 。
但是特定於平台的界面應該可行。 在每次操作之后檢查outFile.bad()
是否為true,檢查GetLastError()
。 根據文檔中的適當表格或使用FormatMessage
。
我懷疑問題是權限。 Windows Vista引入了這種“用戶訪問控制”,當程序想要執行需要管理員權限的操作時,即使當前用戶擁有它們,也應該彈出對話框。 問題是對話框僅在某些條件下彈出。 值得注意的是,它不會彈出控制台應用程序,並且應用程序立即被拒絕權限。 此類應用程序必須“以管理員身份”明確執行。 當然不要忘記能夠編寫特定文件並不意味着能夠創建新文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.