处理C++源代码的程序
2016-06-23 22:52
344 查看
/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:main.cpp
*作 者:李德彪
*完成时间:2016年6月23日
*版 本 号:v1.0
*
*问题描述:项目 - 处理C++源代码的程序。
*输入描述:读入程序。
*程序输出:显示处理过的程序,显示时加上行号。
*/
#include <fstream>
#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
void outprogram(const char *filename);
int main( )
{
char line[256];
int m,n;
//将文件中的数据读入到字符数组中
ifstream sourceFile("source.cpp",ios::in); //以输入的方式打开文件
if(!sourceFile) //测试是否成功打开
{
cerr<<"source code read error!"<<endl;
exit(1);
}
ofstream outFile("newsource.cpp",ios::out); //以输出的方式打开文件
if(!outFile) //测试是否成功打开
{
cerr<<"new source code write error!"<<endl;
exit(1);
}
cout<<"您要将第m行开始的n行代码作为注释,请输入m和n:";
cin>>m>>n;
int n1=0;
while(!sourceFile.eof())
{
sourceFile.getline(line,255,'\n');
n1++;
if(n1>=m&&n1<m+n)
outFile.put('/').put('/');
outFile.write(line,strlen(line));
outFile.write("\n",1);
}
outFile.close();
sourceFile.close();
cout<<"经过处理后的源程序是:"<<endl;
outprogram("newsource.cpp");
return 0;
}
void outprogram(const char *filename)
{
char line[256];
int n = 1;
ifstream inFile(filename, ios::in); //以输入的方式打开文件
if(!inFile) //测试是否成功打开
{
cerr<<"file open error!"<<endl;
exit(1);
}
while (!inFile.eof())
{
inFile.getline(line,255,'\n');
cout<<n<<'\t'<<line<<endl;
n++;
}
inFile.close();
return;
}
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:main.cpp
*作 者:李德彪
*完成时间:2016年6月23日
*版 本 号:v1.0
*
*问题描述:项目 - 处理C++源代码的程序。
*输入描述:读入程序。
*程序输出:显示处理过的程序,显示时加上行号。
*/
#include <fstream>
#include<iostream>
#include<cstring>
#include<cstdlib>
using namespace std;
void outprogram(const char *filename);
int main( )
{
char line[256];
int m,n;
//将文件中的数据读入到字符数组中
ifstream sourceFile("source.cpp",ios::in); //以输入的方式打开文件
if(!sourceFile) //测试是否成功打开
{
cerr<<"source code read error!"<<endl;
exit(1);
}
ofstream outFile("newsource.cpp",ios::out); //以输出的方式打开文件
if(!outFile) //测试是否成功打开
{
cerr<<"new source code write error!"<<endl;
exit(1);
}
cout<<"您要将第m行开始的n行代码作为注释,请输入m和n:";
cin>>m>>n;
int n1=0;
while(!sourceFile.eof())
{
sourceFile.getline(line,255,'\n');
n1++;
if(n1>=m&&n1<m+n)
outFile.put('/').put('/');
outFile.write(line,strlen(line));
outFile.write("\n",1);
}
outFile.close();
sourceFile.close();
cout<<"经过处理后的源程序是:"<<endl;
outprogram("newsource.cpp");
return 0;
}
void outprogram(const char *filename)
{
char line[256];
int n = 1;
ifstream inFile(filename, ios::in); //以输入的方式打开文件
if(!inFile) //测试是否成功打开
{
cerr<<"file open error!"<<endl;
exit(1);
}
while (!inFile.eof())
{
inFile.getline(line,255,'\n');
cout<<n<<'\t'<<line<<endl;
n++;
}
inFile.close();
return;
}
/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作 者:李磊涛 *完成时间:2016年6月23日 *版 本 号:v1.0 * *问题描述:项目 - 处理C++源代码的程序。 *输入描述:读入程序。 *程序输出:显示处理过的程序,显示时加上行号。 */ #include <fstream> #include<iostream> #include<cstring> #include<cstdlib> using namespace std; void outprogram(const char *filename); int main( ) { char line[256]; int m,n; //将文件中的数据读入到字符数组中 ifstream sourceFile("source.cpp",ios::in); //以输入的方式打开文件 if(!sourceFile) //测试是否成功打开 { cerr<<"source code read error!"<<endl; exit(1); } ofstream outFile("newsource.cpp",ios::out); //以输出的方式打开文件 if(!outFile) //测试是否成功打开 { cerr<<"new source code write error!"<<endl; exit(1); } cout<<"您要将第m行开始的n行代码作为注释,请输入m和n:"; cin>>m>>n; int n1=0; while(!sourceFile.eof()) { sourceFile.getline(line,255,'\n'); n1++; if(n1>=m&&n1<m+n) outFile.put('/').put('/'); outFile.write(line,strlen(line)); outFile.write("\n",1); } outFile.close(); sourceFile.close(); cout<<"经过处理后的源程序是:"<<endl; outprogram("newsource.cpp"); return 0; } void outprogram(const char *filename) { char line[256]; int n = 1; ifstream inFile(filename, ios::in); //以输入的方式打开文件 if(!inFile) //测试是否成功打开 { cerr<<"file open error!"<<endl; exit(1); } while (!inFile.eof()) { inFile.getline(line,255,'\n'); cout<<n<<'\t'<<line<<endl; n++; } inFile.close(); return; }