[檔案處理] 開啟檔案

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

開啟檔案

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

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

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

 

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

 

Ex:
#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>

 

也可以在建立檔案物件時

 

一併開啟檔案

 

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

 

 

 

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

 

 

Ex:

 

#include <iostream>
#include <fstream>    //要載入<fstream>標頭檔 
using namespace std;



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

檢查檔案是否開啟成功

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

記得要在電腦內按右鍵

新增目錄內

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

再放入C槽的根目錄

才能順利讀取

有疑問? 留個言吧!

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