C++ 學習筆記9

來源:互聯網
上載者:User

 

Read a text file and write it to a target text file, changing all lowercase to uppercase and double-spacing the output text.

 

讀取一個文字檔並將其寫入目標檔案,目標檔案中將所有的小寫字母轉換成大寫字母,並以雙倍行距輸出文本。

 

name.txt

fanzhaoxin
BUSH Will
Sadamu
Micro jaoden

 

//本程式在VCSP6下編譯通過,使用者建立一個name.txt的檔案,輸出寫入一個name2.txt的檔案中
#include <fstream>
#include <cstdlib>
#include <iostream>
using namespace std;

void double_space(ifstream& f, ofstream& t)
{
 char  c;
 char  d;
 
 while (f.get(c))
 {  
  if(c>='a'&&c<='z')
  {  
   d=c-32;
      t.put(d);//大小寫替換
  }
  if (c == '\n')
  { t.put(c);
   t.put(c);//遇到斷行符號,輸出兩個斷行符號,即實現雙倍行距
  }
  if(c<97&&c!='\n'||c>122&&c!='\n')
   t.put(c);
  
 }
}

int main()
{

 ifstream f_in;
 ofstream f_out;
 
   f_in.open("name.txt",ios::in); //讀入一個存名字的檔案,txt格式
   f_out.open("name2.txt",ios::out);//輸出一個存名字的檔案,雙倍行距,小寫替換成大寫
 

 
 if (!f_in)
 {
  cout << "cannot open "  << endl;
  exit(1);//can not open return wrong
 }
 if (!f_out)
 {
  cout << "cannot open "  << endl;
  exit(1);//the same as f_in
 }
 double_space(f_in, f_out);//use the function to achieve your goal
 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.