1. 將數據寫入文本文件中, 包含幾個要點:
(1) 必須包含頭文件fstream
(2) 頭文件fstream中定義了一個用於處理輸出的ofstream類
(3) 需要聲明一個或多個ofstream對象
(4) 需要將ofstream對象與文件關聯起來, 方法之一是使用open()
(5) 使用完文件後, 應使用close()方法將其關閉
(6) 可結合使用ofstream對象和操作符<<來輸出各種類型的數據.
定義一個ofstream類, ofstream outfile1; 然後將其與文件關聯起來,使用對象的open方法來關聯文件.例如下面幾種:
(1) 直接以文件路徑作爲open參數:outfile1.open("fish.txt"). 如果沒有fish.txt文件, open()方法將會創建一個fish.txt文件, 如果已經包含了一個fish.txt文件, open()將首先丟棄其原先的內容, 然後將新的輸入加入到文件中.(當然有方法讓我們保留原來的內容)
(2) open()以字符串作爲參數:
char filename[50];
cin>>filename;
outfile1.open(filename);
創建了ofstream對象, 並與文件關聯之後, 下面是怎麼使用此對象了. 使用方法與cout對象類似, 結合<<操作符. 例如:
double w=125.8;
outfile1<<w; //將w寫入對象outfile1所關聯的文件fish.txt中
char line[81]="I have a dream!";
outfile1<<line<<endl; //將line中內容和一個換行符輸入對象outfile1所關聯的文件fish.txt中
總結文件輸出的主要步驟:
(1) 包含頭文件fstream; #include<fstream>
(2) 創建一個ofstream對象; ofstream outfile1;
(3) 將ofstream對象同一個文件關聯起來; outfile1.open("fish.txt");
(4) 想使用cout那樣使用ofstream對象; outfile1<<line<<endl;
2. 讀入文本數據, 包含幾個要點
(1) 必須包含頭文件fstream
(2) 頭文件fstream定義了一個用於處理輸入的ifstream類
(3) 需要聲明一個ifstream對象
(4) 將ifstream對象與文件關聯
(5) 結合操作符>>來讀取各種類型數據
(6) 使用ifstream對象的get()方法來讀取一個字符, getline()方法讀取一行字符
(7) 如果最後一個讀取操作成功, 返回true, 否則返回false.
定義個ifstream對象: ifstream infile; 然後將這個對象與文件關聯起來, 使用open()方法來關聯文件. infile.open("fish.txt"); 這樣使用對象:
double wt;
infile>>wt; //從file中讀取一個數據
char line[81];
infile.getline(line, 81);//讀取一行字符存入line中
如果打開的文件不存在, 則無法對對象進行輸入, 用is_open()方法判斷, 成功打開文件, 則infile.is_open()返回true, 否則返回false.
if(!infile.is_open())
cout<<"fail to open the file/n";
示例看上面的程序