读书人

c++builder向exe写入一行字母后exe不

发布时间: 2012-02-22 19:36:55 作者: rapoo

c++builder向exe写入一行字母后,exe不能正常运行? - C++ Builder / Windows SDK/API
--向EXE写入“I Love You”
char x[]="I Love You";
FILE *fp;

fp = fopen(".\\test.exe","wb+");

fseek(fp,0L,2);
fwrite(x, 6,12,fp);//在末尾写入“I Love You”
fclose(fp);


--向EXE读取“I Love You”
char aa[4230];
fread(aa,6,12 ,fp);//向EXE读取“I Love You”
fclose(fp);


????写入EXE后,为什么不能运行EXE????????????????????

[解决办法]
好像应该是fp = fopen(".\\test.exe","a+"); 才对吧
[解决办法]

C/C++ code
char x[] = "I Love You";int nLen = strlen(x);FILE *fp;// 向EXE写入字符串fp = fopen("D:\\ccrun\\123.exe", "a+");if (fp){    fseek(fp, 0L, SEEK_END);    fwrite(x, nLen, 1, fp); // 在末尾写入“I Love You”    fclose(fp);    MessageBox(0, "写入完成", "写入", 0);}// 从EXE读取字符串fp = fopen("D:\\ccrun\\123.exe", "rb");if (fp){    fseek(fp, 0 - nLen, SEEK_END);    char *aa = new char[nLen + 1];    memset(aa, 0, nLen + 1);    fread(aa, nLen + 1, 1, fp);    fclose(fp);    MessageBox(0, aa, "读取", 0);    delete []aa;}
[解决办法]
在中间写,就很复杂咯。会破坏原有的数据或代码

读书人网 >C++ Builder

热点推荐