[转贴]打印自身的C程序
来源:互联网 发布:特殊身份知乎 编辑:程序博客网 时间:2024/05/16 15:14
#include <string.h>
char *restore(char *src)
{
char *dest, *p;
dest = p = new char[strlen(src) * 2];
*p++ = *src++;
while(*src)
{
switch(*src)
{
case 10:
*p++ = 92;
*p++ = 110;
*p++ = 34;
*p++ = 10;
*p++ = 9;
*p++ = 9;
*p++ = 34;
break;
case 34:
*p++ = 92;
*p++ = 34;
break;
default:
*p++ = *src;
}
src++;
}
*p = 0;
return dest;
}
int main()
{
char str[] =
"#include <stdio.h>/n"
"#include <string.h>/n"
"/n"
"char *restore(char *src)/n"
"{/n"
" char *dest, *p;/n"
" dest = p = new char[strlen(src) * 2];/n"
" *p++ = *src++;/n"
" while(*src)/n"
" {/n"
" switch(*src)/n"
" {/n"
" case 10:/n"
" *p++ = 92;/n"
" *p++ = 110;/n"
" *p++ = 34;/n"
" *p++ = 10;/n"
" *p++ = 9;/n"
" *p++ = 9;/n"
" *p++ = 34;/n"
" break;/n"
" case 34:/n"
" *p++ = 92;/n"
" *p++ = 34;/n"
" break;/n"
" default:/n"
" *p++ = *src;/n"
" }/n"
" src++;/n"
" }/n"
" *p = 0;/n"
" return dest;/n"
"}/n"
"/n"
"int main()/n"
"{/n"
" char str[] = /n"
" /"%s/";/n"
" printf(str, restore(str));/n"
"/n"
"return 0;/n"
"}/n"
"";
printf(str, restore(str));
return 0;
}
- [转贴]打印自身的C程序
- 技巧用法 --- 打印自身的 C 程序
- 打印自身的程序
- 打印自身的程序
- 打印自身的程序
- 打印自身代码的C语言小程序
- 打印自身的程序(python和c版)
- 打印C程序的自身源代码(译)
- 打印自身源码的程序
- 打印自身的程序杂谈
- 打印出自身的程序
- 打印出自身的程序
- 打印自身源代码的程序
- c打印自身的代码。
- C语言趣味小程序:打印自身
- 打印源码自身的C++程序
- 打印自身程序
- C++打印程序自身
- 今天2010-11-13
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- KDTable常用处理代码
- 黑色星期五 即将过去
- 网络流题目集锦
- [转贴]打印自身的C程序
- Sql Server2005安装图解
- DLX
- IMAP协议
- 关于野指针
- Try to create my first blog on CSDN
- sql server的BCP导入导出
- 最近实在太累了...PVS真叫人受不了...
- 在OpenGL中如何根据空间两点绘制圆柱?(www.c3dn.net)