热烈庆祝本人受关注人数即将突破7000大关!散分!+“代码修改自身”例子

C语言 码拜 9年前 (2015-11-26) 833次浏览
“代码修改自身”为啥要加个引号呢?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#include <io.h>
#include <windows.h>
FILE *f;
char cmd[256];
char fn[256];
char fn_old[256];
char fn_new[256];
char *b,*p;
int fl,i;
int main() {
    char a[]="hello world!1";
    printf("%s",a);
    GetModuleFileName(NULL,fn,256);
    sprintf(fn_old,"%s_old",fn);
    sprintf(fn_new,"%s_new",fn);
    f=fopen(fn,"rb");
    if (NULL==f) {
        printf("Can not open file %s!\n",fn);
        return 1;
    }
    fl=filelength(fileno(f));
    b=(char *)malloc(fl);
    fread(b,1,fl,f);
    fclose(f);
    for (i=0;i<fl-14;i++) {
        if (0==memcmp(b+i,"hello world!",12) && b[i+12]) {
            b[i+12]=0x63-b[i+12];
            break;
        }
    }
    f=fopen(fn_new,"wb");
    if (NULL==f) {
        printf("Can not create file %s!\n",fn_new);
        free(b);
        return 2;
    }
    fwrite(b,1,fl,f);
    fclose(f);
    free(b);
    if (!access(fn_old,0)) remove(fn_old);
    sprintf(cmd,"cmd.exe /c ren "%s" "%s"&copy "%s" "%s" >NUL 2>NUL",fn,strrchr(fn_old,""\"")+1,fn_new,fn);
    WinExec(cmd,SW_HIDE);
    return 0;
}
//C:\test>changemyself
//hello world!1
//c:\test>changemyself
//hello world!2
//c:\test>changemyself
//hello world!1
//c:\test>changemyself
//hello world!2

http://bbs.csdn.net/topics/390627329
http://bbs.csdn.net/topics/390968067

解决方案:8分
快过年了,赵老师要普天同庆啊
解决方案:8分
赵老师利害哈!
解决方案:8分
这么多了都
解决方案:8分
解决方案:8分
赵老师欢喜过大年
解决方案:8分
赵老师的最新研究成果.
解决方案:8分
赵老师发年货了
解决方案:8分
赵老师单位发了 3 块 表,这么欢喜。
解决方案:8分
本人来围观顺便蹭分。
解决方案:8分
老湿你好。老湿再见
解决方案:8分
赵老师利害!
解决方案:8分
正在看。
解决方案:8分
这~~~  恭喜了  进来拿分
解决方案:7分
恭喜,搭车接分。
赵老师的文化程度,就搞个命令行重命名+复制的代码自修改,太小儿科了吧
解决方案:8分
拎 分
解决方案:8分
解决方案:8分
过来看看,顺便接分
解决方案:8分
过年,捧个场,赵老湿,接个分
解决方案:8分
赵老湿 你好  赵老湿 再见 。
解决方案:8分
过年捧场,接分
解决方案:8分
过来接
解决方案:8分
解决方案:8分
高手啊,膜拜
解决方案:8分
赵老师好
解决方案:8分
通常一有一些厉害问题时总少不了赵老师的身影,肾好!肾好!
解决方案:8分
在这普天同庆的日子里,免不了要围观一下赵老湿
解决方案:9分
热烈庆祝本人受关注人数即将突破7000大关!散分!+“代码修改自身”例子
解决方案:9分
“代码修改自身”为啥要加个引号呢?
解决方案:8分
300分全给本人,本人顶你
解决方案:8分
顶顶顶顶顶顶顶顶顶顶!!!
解决方案:8分
关注越多,责任越大!
每天回帖接分!
解决方案:8分
解决方案:6分
接分,接分,接赵老师的分。
解决方案:8分
哈哈,来论坛看过LZ几次,膜拜一下,顺便关注一下。
解决方案:8分
解决方案:6分
吊炸天。膜拜一下,不知道老师对阅读源代码有何建议吗?本人计划将一部分源代码抽出来进行编译。
解决方案:8分
厉害,赵老师
解决方案:6分
虽然不是前排,但不耽误围观赵老师
不明而觉厉

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明热烈庆祝本人受关注人数即将突破7000大关!散分!+“代码修改自身”例子
喜欢 (0)
[1034331897@qq.com]
分享 (0)