標籤:
問題描述:
(2)讀入一個C++程式,使程式中的所有左花括弧“{”和右花括弧“}”都單獨佔一行,新程式儲存到另一個.cpp檔案中,並在螢幕上顯示處理過的程式,顯示時加上行號。
代碼實現:
#include <iostream>#include <cstdio>#include <cstring>#include <fstream>#include <cstdlib>using namespace std;int main(){ fstream myfile("source.cpp"); if(!myfile){ cerr<<"can't find source.cpp!\n"; exit(1); } ofstream myfile2("newsource.cpp"); if(!myfile2){ cerr<<"can't write newsource.cpp!\n"; exit(1); } char t='\0',c; while(!myfile.eof()){ myfile.get(c); if((c=='{'||c=='}')&&(t!='\n')) myfile2.put('\n'); else if((t=='{'||t=='}')&&(c!='\n')) myfile2.put('\n'); myfile2.put(c); t=c; } myfile.close(); myfile2.close(); cout<<"Work has been done!\n"; string s; cout<<"\nWatch the newsource.cpp file!\n\n\n"; ifstream in("newsource.cpp"); if(!in){ cerr<<"can't find newsource.cpp!\n"; exit(1); } while(!in.eof()){ getline(in,s); cout<<s<<'\12'; } return 0;}運行結果:
【項目4 - 處理C++原始碼的程式】(2)