打印自身文件

昨天做了个打印自身文件的程序,这个程序完成用了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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值