您的位置:首页 > 其它

打印自身文件

2007-12-04 22:07 218 查看
昨天做了个打印自身文件的程序,这个程序完成用了20多分钟,今天突然想到一个更简单的方法。

第一个:


#include<iostream>


#include<string>


using namespace std;




char *buff[100];


char conv[200];


int flag=0;




void p1(char *str)
.{


buff[flag++]=str;


cout<<str<<endl;


}


char *convert(char *t)




{


char *out=conv;


int j=0;


for(unsigned i=0;i<strlen(t);i++)


if(t[i]=='"')




...{


out[j]='/';


out[j+1]='"';


j+=2;


}


else if(t[i]=='/')




...{


out[j]='/';


out[j+1]='/';


j+=2;


}


else




...{


out[j]=t[i];


j++;


}


out[j]=0;


return conv;


}


void p2()




...{


for(int i=0;i<flag;i++)


cout<<" p1(""<<convert(buff[i])<<"");"<<endl;


cout<<" p2();"<<endl;


cout<<"}"<<endl;


}




void main()




...{


p1("#include<iostream>");


p1("#include<string>");


p1("using namespace std;");


p1("");


p1("char *buff[100];");


p1("char conv[200];");


p1("int flag=0;");


p1("");


p1("void p1(char *str)");


p1("{");


p1(" buff[flag++]=str;");


p1(" cout<<str<<endl;");


p1("}");


p1("char *convert(char *t)");


p1("{");


p1(" char *out=conv;");


p1(" int j=0;");


p1(" for(unsigned i=0;i<strlen(t);i++)");


p1(" if(t[i]=='/"')");


p1(" {");


p1(" out[j]='//';");


p1(" out[j+1]='/"';");


p1(" j+=2;");


p1(" }");


p1(" else if(t[i]=='//')");


p1(" {");


p1(" out[j]='//';");


p1(" out[j+1]='//';");


p1(" j+=2;");


p1(" }");


p1(" {");


p1(" out[j]=t[i];");


p1(" j++;");


p1(" }");


p1(" out[j]=0;");


p1(" return conv;");


p1("}");


p1("void p2()");


p1("{");


p1(" for(int i=0;i<flag;i++)");


p1(" cout<<"p1(/""<<convert(buff[i])<<"/");"<<endl;");


p1(" cout<<" p2();"<<endl;");


p1(" cout<<"}"<<endl;");


p1("}");


p1("");


p1("void main()");


p1("{");


p2();


}

第二个


#include<iostream>


void main()
.{


system("type 1.cpp");
}



该文件保存为1.cpp
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: