vs中没有fstream_vs++2010 编译说找不到 fstream.h 解决方法
剛剛在VS2010里面使用vc6.0的那種#include 方式,但是編譯時提示fatal error C1083: 無法打開包括文件:“fstream.h”: No such file or directory。
查閱了相關資料后,找到解決方法:
把
#include
改成
#include
using namespace std;
編譯、運行都順利通過了~~~
為什么會這樣子呢?
因為:
從 Visual C++ .NET 2003 開始,移除了舊的 iostream 庫。
標準 C++ 庫和以前的運行時庫之間的主要差異在于 iostream 庫。iostream 實現的
具體細節已經更改,如果想鏈接標準 C++ 庫,可能有必要重寫代碼中使用 iostream
的部分。
必須移除任何包含在代碼中的舊 iostream 頭文件(fstream.h、iomanip.h、ios.h
、iostream.h、istream.h、ostream.h、streamb.h 和 strstrea.h),并添加一個
或多個新的標準 C++ iostream 頭文件(、、、
、、、、、 和
,所有頭文件都沒有 .h 擴展名)。
在新的標準 C++ iostream 庫中:
1. open 函數不采用第三個參數(保護參數)。
2. 無法從文件句柄創建流。
3. 除了幾個例外,新的標準 C++ 庫中的所有名稱都在 std 命名空間中。有關更多信息,請參見使用 C++ 庫頭。
4. 單獨用 ios::out 標志無法打開 ofstream 對象。ios::out 標志必須在邏輯 OR 中和另一個 ios 枚舉數組合;比如,和 ios::in 或 ios::app 組合。
5. 因為設置了 eofbit 狀態,到達文件尾后 ios::good 不再返回非零值。 除非知道當前沒有設置基標志,否則 ios::setf(_IFlags)
不應和 ios::dec、ios::oct 或 ios::hex 的標志值一起使用。格式化的輸入/輸出函數和運算符假定只設置了一個基。改用 ios_base。
更多改動的地方請查閱MSDN~
除了上述改動外,以下作為舊 iostream 庫元素的函數、常數和枚舉數不是新 iostream
庫的元素:
filebuf、fstream ifstream 和 ofstream 的 attach 成員函數
filebuf、fstream ifstream 和 ofstream 的 fd 成員函數
filebuf::openprot
filebuf::setmode
ios::bitalloc
ios::nocreate
ios::noreplace
ios::sync_with_stdio
streambuf::out_waiting
streambuf::setbuf(相同的行為使用 rdbuf -> pubsetbuf)
總結
以上是生活随笔為你收集整理的vs中没有fstream_vs++2010 编译说找不到 fstream.h 解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue修改数据连接数据库_vue实现数据
- 下一篇: cve 爬虫_好用的Google漏洞爬虫