大家来帮我看看有什么问题!!!!!!!!!!!

Yea 2002-07-12 09:23:44
我想实现的功能是用一个程序给另外一个程序加个尾巴,,这个程序在启动的时候自己读这个新加的尾巴。
这是我的载入程序:
int filehandle;
int filelong;
int b=128127126125;
char *pszBuffer;
//AnsiString a=Edit1->Text;
//b=StrToInt(a);
filehandle=FileOpen("d:\\save\\a.exe",fmOpenReadWrite);
filelong=FileSeek(filehandle,0,2);
pszBuffer = new char[20];
FileWrite(filelong,pszBuffer,b);
FileClose(filehandle);
delete [] pszBuffer ;
这是我的读出程序:
char *p;
int filehandle,a;
filehandle=FileOpen("d:\\save\\a.exe",0);
a=FileSeek(filehandle,16,2);
p=new char[20];
FileRead(filehandle,p,19);
Label1->Caption=p;
Edit1->Text=IntToStr(a);
FileClose(filehandle);
delete [] p;
...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
uio45757 2002-07-14
  • 打赏
  • 举报
回复
相和别人交朋友是假,想有个人帮忙是真,哈哈
jsp大侠,你小心啊,小心三十年孤独的事件再现啊.
Yea 2002-07-13
  • 打赏
  • 举报
回复
你有QQ吗??可以和你交个朋友吗??我的E-MAIL是Yea3@263.net(付了费的)
Yea 2002-07-13
  • 打赏
  • 举报
回复
谢谢你,我已经解决了!我还想问几个问题:FileSeek(filehandle, (int)-16, 2);中的那个(int)是干什么用的???还有一个程序一开始运行我要指定焦点在某一个控件上是调那个属性?
jishiping 2002-07-13
  • 打赏
  • 举报
回复
载入程序
char buf[16];
int filehandle;
strcpy(buf, "128.127.126.125"); //指定添加的IP地址
filehandle=FileOpen("d:\\save\\a.exe",fmOpenReadWrite);
FileSeek(filehandle, (int)0, 2);
//IP地址最长15位,加上最后的0字符,最多16个字符,所以只
//需要添加16个字节就足够了
FileWrite(filehandle, buf, 16);
FileClose(filehandle);

读出程序:
int filehandle;
char buf[16];
filehandle=FileOpen("d:\\save\\a.exe",0);
FileSeek(filehandle, (int)-16, 2);
FileRead(filehandle, buf, 16);
buf[15] = '\0'; //最好有这行,防止最后一个字符不是0
FileClose(filehandle);
Label1->Caption = buf;
Edit1->Text = buf;
Yea 2002-07-12
  • 打赏
  • 举报
回复
不能读出数据!!!!!
Yea 2002-07-12
  • 打赏
  • 举报
回复
不是整数,是IP地址。不对,,好像有错误。[C++ Error] Unit1.cpp(34): E2015 Ambiguity between '_fastcall Sysutils::FileSeek(int,int,int)' and '_fastcall Sysutils::FileSeek(int,const __int64,int)'
hansonhx 2002-07-12
  • 打赏
  • 举报
回复
出什么错误了,讲详细点嘛
jishiping 2002-07-12
  • 打赏
  • 举报
回复
短短的一段代码,错误好多。

载入程序:
int filehandle;
int filelong;
int b=128127126125;
//.....
pszBuffer = new char[20];
FileWrite(filelong,pszBuffer,b);
这儿的filelong应该是filehandle,还有,你没有给pszBuffer赋值,写进的
是乱码,还有写进的长度是128127126125,程序不死才怪呢。短短一句,竟
然有三个错误。下面的读的代码也有好几个问题。我猜测你是不是将一个整
数添加到最后/啊,如果是的话,你的程序需要这样写:

int filehandle;
int filelong;
int b=128127126125;
filehandle=FileOpen("d:\\save\\a.exe",fmOpenReadWrite);
filelong=FileSeek(filehandle, 0, 2);
FileWrite(filehandle, &b, sizeof(int));
FileClose(filehandle);

读出程序:
int filehandle,a;
filehandle=FileOpen("d:\\save\\a.exe",0);
a=FileSeek(filehandle, -sizeof(int), 2);
FileRead(filehandle, &a, sizeof(int));
Label1->Caption = a;
Edit1->Text = a;
FileClose(filehandle);

13,824

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧