C 中fstream標頭檔案使用的一點小問題

2021-09-30 07:34:34 字數 680 閱讀 1255

出現錯誤

error c2065: 'ifstream' : undeclared identifier

程式中已經新增標頭檔案

#include

最後發現問題在於未新增

using namespace std;

以下在網上摘得:

因為標準庫非常的龐大,所程式設計師在選擇的類的名稱或函式名時就很有可能和標準庫中的某個名字相同。所以為了避免這種情況所造成的名字衝突,就把標準庫中的一切都被放在名字空間std中。但這又會帶來了乙個新問題。無數原有的c++**都依賴於使用了多年的偽標準庫中的功能,他們都是在全域性空間下的。所以就有了和等等這樣的標頭檔案,乙個是為了相容以前的c++**,乙個是為了支援新的標準。命名空間std封裝的是標準程式庫的名稱,標準程式庫為了和以前的標頭檔案區別,一般不加".h"。

和是不一樣的,前者沒有字尾,實際上,在你的編譯器include資料夾裡面可以看到,二者是兩個檔案,開啟檔案就會發現,裡面的**是不一樣的。字尾為.h的標頭檔案c++標準已經明確提出不支援了,早些的實現將標準庫功能定義在全域性空間裡,宣告在帶.h字尾的標頭檔案裡,c++標準為了和c區別開,也為了正確使用命名空間,規定標頭檔案不使用字尾.h。因此,當使用時,相當於在c中呼叫庫函式,使用的是全域性命名空間,也就是早期的c++實現;當使用的時候,該標頭檔案沒有定義全域性命名空間,必須使用namespace std;這樣才能正確使用cout。

fstream標頭檔案

ofstream是從記憶體到硬碟,ifstream是從硬碟到記憶體,其實所謂的流緩衝就是記憶體空間 在c 中,有乙個stream這個類,所有的i o都以這個 流 類為基礎的,包括我們要認識的檔案i o.stream這個類有兩個重要的運算子 1 插入器 向流輸出資料。比如說系統有乙個預設的標準輸出流 ...

c 中使用fstream讀寫檔案

c 中封裝的類庫ofsream,ifstream用於檔案的讀寫操作 1 ofstream 用於從流中寫入檔案 建立並寫入檔案,以寫檔案方式開啟檔案 ofstream tempout test 327.txt int ninum 100 char name abcd tempout this is a...

使用fstream讀寫檔案

下面通過乙個例子來說明如何使用 include include include include using namespace std void process string s return 0 在這個例子中,vector裡儲存的一系列的檔名 這裡只有2個,a.txt中的內容為aaa b.txt中...