實訓C++語言設計——檔案和流

來源:互聯網
上載者:User

熟悉流類庫中常用的類及其成員函數的用法,學習到了標準的輸入輸出及其格式的控制,學習到了檔案的應用方式,有二進位檔案和文字檔. 

演算法:無
方法:無
程式:
//Lab11_1.cpp
#include<fstream>
using namespace std;
#define D(a) T<<#a<<endl;a
ofstream T("output.out");
void main()
{  D(int i=53;)
  D(float f=4700113.141593;)
  char *s="Is there any more?";
 D(T.setf(ios::unitbuf);)
  D(T.setf(ios::showbase);)
  D(T.setf(ios::uppercase);)
  D(T.setf(ios::showpos);)
  D(T<<i<<endl;)
  D(T.setf(ios::hex,ios::basefield);)
  D(T<<i<<endl;)
  D(T.unsetf(ios::showbase);)
  D(T.setf(ios::oct,ios::basefield);)
  D(T<<i<<endl;)
  D(T.unsetf(ios::showbase);)
  D(T.setf(ios::dec,ios::basefield);)
  D(T.setf(ios::left,ios::adjustfield);)

  D(T.fill('0');)
  D(T<<"fill char:"<<T.fill()<<endl;)
  D(T.width(8);)
  T<<i<<endl;
 D(T.setf(ios::right,ios::adjustfield);)
  D(T.width(8);)
  T<<i<<endl;
 D(T.setf(ios::internal,ios::adjustfield);)
  D(T.width(8);)
  T<<i<<endl;
 D(T<<i<<endl;)            //Without width(10)

  D(T.unsetf(ios::showpos);)
  D(T.setf(ios::showpoint);)
  D(T<<"prec="<<T.precision()<<endl;)
  D(T.setf(ios::scientific,ios::floatfield);)
  D(T<<endl<<f<<endl;)
  D(T.setf(ios::fixed,ios::floatfield);)
  D(T<<f<<endl;)
  D(T.setf(0,ios::floatfield);)  //Automatic
  D(T<<f<<endl;)
  D(T.precision(16);)
  D(T<<"prec="<<T.precision()<<endl;)
  D(T<<endl<<f<<endl;)
  D(T.setf(ios::scientific,ios::floatfield);)
  D(T<<endl<<f<<endl;)
  D(T.setf(ios::fixed,ios::floatfield);)
  D(T<<f<<endl;)
  D(T.setf(0,ios::floatfield);)
  D(T<<f<<endl;)

  D(T.width(8);)
  T<<s<<endl;  
 D(T.width(36);)
  T<<s<<endl;  
 D(T.setf(ios::left,ios::adjustfield);)
  D(T.width(36);)
  T<<s<<endl;

 D(T.unsetf(ios::showpoint);)
  D(T.unsetf(ios::unitbuf);)
}
//Lab11_1.cpp
#include<iostream>
#include<string>
using namespace std;
#include <fstream>

int main()
{   char a1[32],a2[32];
 char str[80];
 char*p;  
 cout<<"建立檔案"<<endl;
 cout<<"輸入你的檔案名稱(要加尾碼)"<<endl;
 cin.getline(a1,32); 
 p=a1;
 cout<<"輸入檔案內容:"<<endl;
 cin.getline(str,80);

 ofstream File(p,ios::binary); 
 if(! File)
 {   cout<<"不能開啟該檔案!"<<endl;
  cout<<"退出程式!"<<endl;
  exit(1);}
 else
 {  File.write(str,80);
    File.close();
 }
 cout<<"/n輸入你要開啟的檔案名稱(要加尾碼)"<<endl;
 cin.getline(a2,32); 
 p=a2; 
 ifstream inFile(p,ios::binary); 
 if(! inFile)
 {   cout<<"/n不存在該檔案"<<endl; 
  cout<<"退出程式!"<<endl;
  exit(1);
 }
 else
 {  string q;       
    inFile>>q;
    cout<<"檔案"<<p<<"中的內容是:"<<q;
    File.close();
 }
 cout<<endl;
return 0;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.