#include"iostream"#include"fstream"
using namespace std;//向文件內部寫入數據,并將數據讀出voidfile_wr(void){char data[100];//向文件寫入數據ofstream outfile;outfile.open("test.txt");cout <<"Write to the file"<< endl;cout <<"Enter your name:"<< endl;cin.getline(data,100);outfile << data << endl;cout <<"Enter your age:"<< endl;cin >> data;cin.ignore();outfile << data << endl;outfile.close();//從文件讀取數據ifstream infile;infile.open("test.txt");cout <<"Read from the file"<< endl;infile >> data;cout << data << endl;infile >> data;cout << data << endl;infile.close();}//將數據從一文件復制到另一文件中voidfile_copy(void){char data[100];ifstream infile;ofstream outfile;infile.open("test.txt");outfile.open("test_1.txt");cout <<"copy from test.txt to test_1.txt"<< endl;while(!infile.eof()){infile >> data;cout << data << endl;outfile << data << endl;}infile.close();outfile.close();}//測試上述讀寫文件,與文件數據復制intmain(){file_wr();file_copy();return0;}
當上面的代碼被編譯和執行時,它會產生下列輸入和輸出: $./a.out Writing to the file Enter your name: John Enter your age: 20 Reading from the file John 20 copy from test.txt to test_1.txt John 20
2.異常處理
#include<iostream>
using namespace std;doubledivision(int a,int b){if( b ==0){throw "Division by zero condition!";}return(a/b);}int main (){int x =50;int y =0;double z =0;try {z =division(x, y);cout << z << endl;}catch (constchar* msg){cerr << msg << endl;}return0;}
由于我們拋出了一個類型為 const char* 的異常,因此,當捕獲該異常時,我們必須在 catch 塊中使用 const char*。當上面的代碼被編譯和執行時,它會產生下列結果: Division by zero condition!
3.動態內存
#include<iostream>
using namespace std;int main (){double* pvalue =NULL;// 初始化為 null 的指針pvalue = new double;// 為變量請求內存*pvalue =29494.99;// 在分配的地址存儲值cout <<"Value of pvalue : "<<*pvalue << endl;delete pvalue;// 釋放內存return0;}#include<iostream>
using namespace std;intmain(){int**p;int i,j;//p[4][8] //開始分配4行8列的二維數據 p = new int*[4];for(i=0;i<4;i++){p[i]=new int[8];}for(i=0; i<4; i++){for(j=0; j<8; j++){p[i][j]= j*i;}}//打印數據 for(i=0; i<4; i++){for(j=0; j<8; j++){if(j==0) cout<<endl; cout<<p[i][j]<<"\t";}}//開始釋放申請的堆 for(i=0; i<4; i++){delete [] p[i];}delete [] p;return0;}