第十四周项目4 - 处理C++源代码的程序(m后n行加注释)

(3)读入一个C++程序,输入m、n两个数字,从第m行起的n行代码将作为注释使用(即在这些行前面加上”//”),新程序保存到另一个.cpp文件中,并在屏幕上显示处理过的程序,显示时加上行号。

#include <iostream>
#include <cstdlib>
#include <fstream>
#include <cstring>
using namespace std;
int main()
{
    char ch1='\0',ch2,out[256],line[256];
    int i=0,m,n;
    ifstream infile("source.cpp",ios::in);
    //测试是否成功打开,打开失败时(如要读的数据文件不存在)退出
    ofstream outfile("out.cpp",ios::out);
    if(!infile)
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    if(!outfile)
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    cout<<"输入两个数m,n,从第m行起的n行代码将作为注释使用:";
    cin>>m>>n;
    cout<<endl;
    int j=1;
    while(!infile.eof())
    {
        infile.getline(line,255,'\n');
        if(j>=m&&j<m+n)
        {
            outfile<<'/'<<'/';
        }
        outfile.write(line,strlen(line));
        outfile<<endl;
        ++j;
    }
    infile.close();          //读入完毕要关闭文件
    outfile.close();
    ifstream view("out.cpp",ios::in);
    if(!view)
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    while(!view.eof())
    {
        view.getline(out,255,'\n');
        cout<<++i<<'\t'<<out<<endl;
    }
    view.close();
    return 0;
}
图片:

第十四周项目4 - 处理C++源代码的程序(m后n行加注释)_第1张图片
心得:

由上个程序更改而来。。。感觉终于顺手一回

你可能感兴趣的:(第十四周项目4 - 处理C++源代码的程序(m后n行加注释))