C 的fstream如何檢查檔案是否成功開啟

時間 2022-03-13 13:50:13

1樓:樊成仵辰

lz的的意思是不是測試乙個已經存在的檔案是否打成功呢如果是這樣,就用

ifstream

繫結該檔案作測試就好了,在檔案不存在的時候,它的failbit

位設定為

1,**如下:

#include

//先測試檔案是否存在

std::iftream

testfile("c:\\123.txt");

if(!testfile)

//通過測試,則開啟檔案

testfile.close();

testfile.clear();

std::ofstream

f("c:\\123.txt")

用ofstream

繫結檔案,檔案不存在會自動建立而不會設定出錯狀態。

2樓:市夏出庚

測試檔案開啟是否成功:如果檔案開啟有錯誤,比如讀取乙個不存在的檔案,當然對於寫入檔案來說不會出錯,因為寫入乙個不存在的檔案時會建立該檔案。測試檔案開啟是否成功可以直接對流進行測試,因為檔案開啟失敗時會把ios::

failbit位設為1,所以也可以呼叫流中的fail()函式來檢測檔案開啟是否成功。比如可以這樣測試檔案ifstream

hy(「hhh.txt」);

直接對流進行測試比如while(hy){}表示檔案開啟成功則執行迴圈,或者測試fail函式比如while(hy.fail());表示開啟失敗則執行迴圈,當讀取檔案到達檔案尾時程式會把ios::eofbit位設為1。

現行的檢測方法is_open()函式,如果檔案開啟成功則反回true否則反回flash,is_open函式是成員函式,使用時需要使用流類的物件來呼叫。對於過去一般使用常規的good(),fail()函式來檢查檔案是否開啟成功,而現在新式的is_open()函式同樣能實現上述這些函式的功能,而且還能提供這些函式無法實現的功能,比如以乙個不合適的檔案模式開啟檔案失敗時,這時只有good()和is_open()能檢測到這種錯誤。

c++fstream問題,如何判斷乙個檔案是否為空 10

3樓:匿名使用者

#include

#include

using namespace std;

#define filename "d:\\aaa.txt"

int main()

else

return 0;}}

c++fstream流怎麼判斷是否真的到了檔案結尾.**等

4樓:小何才露尖尖角兒

char buf[1024]; //臨時儲存讀取出來的檔案內容

ifstream infile;

infile.open(m_strfilepath);

if(infile.is_open()) //檔案開啟成功,說明曾經寫入過東西

infile.close();

}else

參考這段**。

5樓:滄海雄風

參考這個

#include

#include

using namespace std;

int main()

}fin.close();

fin.open("b.txt");

if(fin.fail())

cout<<"開啟失敗\n";

fin.close();

return 0;}

6樓:你是我的主角

我不會來學習一下……

c++中fstream如何判斷檔案不存在

7樓:匿名使用者

#include

#include

using namespace std;

#define filename "d:\\aaa.txt"

int main()

else

return 0;}}

8樓:空雪夢見

以std::ios::in方式開啟檔案。開啟失敗就是不存在

c++中如何利用從txt檔案中讀入和輸出完整的一句話?

9樓:匿名使用者

#include

#include

#include

using namespace std;

int main()

while(!in.eof())//讀檔案system("pause");

return 0;}

10樓:go陌小潔

c++ 中關於檔案的讀入和輸出。

example : 從in.txt 檔案中讀入資料,並輸出到out.txt中,輸出的檔案中每行之間有一空行相隔

#include

#include

#include

using namespace std;

int main (int)                            //s,是因為我每次讀入一行

//後,立即就把它輸出到

//out.txt中,跟著讀下一行

inf.close();

outf.close();

return 0;

#include

#include

#include

#include

using namespace std;

int main (int)

else

}/* 同樣的原理,從檔案中讀入單個字元,每次讀入乙個後,系統自動地把指標指向下乙個字,而不用你指定這次讀哪個,下次讀哪個,除非你不想從第乙個開始讀,比如說:我想從第100個字開始讀,或者我想讀最後50個字。這就需要呼叫相應的函式,並指定相應的位置。

*/inf.close();

outf.close();

return 0;}

如何用c++ fstream中的open來開啟乙個檔案

11樓:匿名使用者

注意my.dat檔案放置的位置,預設需要和源**檔案目錄相同。

12樓:du瓶邪

1、插入器(<<)

向流輸出資料。比如說系統有乙個預設的標準輸出流(cout),一般情況下就是指的顯示器,所以,cout<<"write stdout"<<' ';就表示把字串"write stdout"和換行字元(' ')輸出到標準輸出流。

2、析取器(>>)

從流中輸入資料。比如說系統有乙個預設的標準輸入流(cin),一般情況下就是指的鍵盤,所以,cin>>x;就表示從標準輸入流中讀取乙個指定型別(即變數x的型別)的資料。

在c++中,對檔案的操作是通過stream的子類fstream(file stream)來實現的,所以,要用這種方式操作檔案,就必須加入標頭檔案fstream.h。

c++用fstream開啟檔案之後,再次開啟時,怎樣將檔案的指標置到開頭?

13樓:匿名使用者

放到**不行?為什麼要放到後面呢?

你用file1.seekg(0,ios::beg);

後,再用tellg讀一下位置,看是不是設定成功了。

c如何給檔案重新命名,C 如何給檔案重新命名

我寫了個winform的控制台應用程式。你看看。static void main string args private static bool movefile string oldpath,string movenewpath 建立檔案 if file.exists movenewpath 判斷...

如何清理占用c盤的無用檔案,如何清理占用c盤的無用檔案

先雙擊進入 計算機 或者 此電腦 圖示,找到本地磁碟c。右鍵點選本地磁碟c找到屬性點選進入在屬性對話方塊中點選磁碟清理,在磁碟清理對話方塊勾選需要刪除的檔案,點選下方確定。在彈出的確認對話方塊中,點選刪除檔案 把temp目錄轉移到別的碟符去。我的電腦 屬性 高階 環境變數 把temp和tmp變數的值...

C語言如何讀取檔案,請問如何用c語言從txt檔案中讀取資料?

乙個檔案流指標對應乙個開啟的檔案,因為你要同時操作兩個檔案,所以要用兩個檔案流指標 就像你要同時操作兩個箱子一樣.這個程式可以這樣理解 有兩個箱子,fp1,fp2 開啟箱子fp1,fp2,一次拿出1024個東西看一下,同時將他放到第二個箱子fp2裡,至到箱子的東西完全拿出來,然後關閉兩個箱子.例子都...