[檔案處理] 開啟檔案

建立檔案後
要利用成員函數open()開啟檔案

開啟檔案

檔案物件名稱.open(“檔案名稱”,ios:開啟模式);

open()是ifstream,ofstream,ifstream類別的成員函數
因此只是讓物件去呼叫open()成員函數

開啟模式
用來指定要以什麼模式來開啟

 

ios::開啟模式
說明
ios::app
開啟可供附加資料的檔案
ios::binary
開啟二進位的輸入/輸出檔案
ios::in
開啟可供讀取資料的檔案
ios::out
開啟可供輸入資料的檔案
ios::trunc
若開啟檔案已存在,則先刪除它,再開啟檔案
 

 

Ex:

[code language=”cpp”]
#include <iostream>
#include <fstream> //要載入<fstream>標頭檔
using namespace std;

int main(){

ifstream inf; //建立可供讀取資料的物件
inf.open("C:\\test.txt",ios::in); //開啟可供讀取資料的檔案

}<span style="display: inline-block; width: 0px; overflow: hidden; line-height: 0;" data-mce-type="bookmark" class="mce_SELRES_start"></span>
[/code]

 

也可以在建立檔案物件時

 

一併開啟檔案

 

做法是通過呼叫物件的建構元

 

 

 

檔案類別名稱 檔案物件名稱 (“檔案名稱”,ios:開啟模式);

 

 

Ex:

 

[code language=”cpp”]
#include <iostream>
#include <fstream> //要載入<fstream>標頭檔
using namespace std;

int main(){

ifstream inf("C:\\test.txt",ios::in); //在宣告檔案物件時,同時開啟檔案

}
[/code]

檢查檔案是否開啟成功

開啟檔案時
最重要的是
就是確定檔案有沒有開啟成功
可以用ifstream類別的成員函數is_open()來測試檔案是否開啟成功
若檔案開啟成功 is_open()會回傳true
否則會回傳false
因此可以利用以下語法
測試檔案室否開啟成功
檔案類別名稱 檔案物件名稱 (“檔案名稱”,ios:開啟模式);
if(檔案物件名稱.is_open())
{
                 ………..檔案開啟時做的動作
}
 
else
{
                 ………..檔案沒有開啟時做的動作
}
Ex:

[code language=”cpp”]
#include <iostream>
#include <fstream> //要載入<fstream>標頭檔
using namespace std;

int main(){

ifstream inf("C:\\test.txt",ios::in); //在宣告檔案物件時,同時開啟檔案

if(inf.is_open()){

cout << "檔案已開啟" << endl;

}

else{

cout << "檔案未開啟" << endl;

}

}
[/code]

記得要在電腦內按右鍵

新增目錄內

新增名為test的文字文件(.txt)

再放入C槽的根目錄

才能順利讀取

有疑問? 留個言吧!

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料