linux系统中cat函数的C++实线

  • 格式:doc
  • 大小:24.50 KB
  • 文档页数:2

/*****************
linux系统中cat命令的C++实现
*************************/
#include
#include
#include
using namespace std;
//C++中常用的打开文件操作
ifstream& open_file(ifstream &in,char *argv){
in.close();//关闭以免已经打开
in.clear();//
in.open(argv);//
return in;//
}
//模拟一个文件的cat命令
void cat_linux(char *argv){
ifstream f1;string str;
open_file(f1,argv);
if(!open_file(f1,argv)){

cout<}
else{
cout<while(getline(f1,str))
cout<}
f1.close();//关闭文件
}
//模拟一个文件的 cat -n命令
void cat_linux_n( char *argv){
int i=0;
ifstream f1;string str;
open_file(f1,argv);
if(!open_file(f1,argv)){
cout<}
else{
cout<while(getline(f1,str))
cout<<++i<<'\t'<}
f1.close();//关闭文件
}
int main(int argc,char *argv[]){
int i;
if(!argv[1]){
while(1){
string bb;
cin>>bb;
if(bb=="D")
break;
else
cout<}
}
else if(strcmp(argv[1],"-n")==0){
for(i=2;icat_linux_n(argv[i]);
}
}
else {
for(i=1;icat_linux(argv[i]);
}
}
}