我根据bcb里面的帮助写了个文件拷贝的东东,可是发现好像没反应也。

kinglang 2002-04-21 01:26:34
用的是FileOpen,FileSeek,FileWrite等函数,基本上就是用的那个帮助文件里面的代码,结果运行一下没有反应,看了看也没有错误,因为我的机子的软盘坏了,所以不能把代码拷到网上来,哪位给我指点一下可能出现的问题?
...全文
151 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chensir2000 2002-04-28
  • 打赏
  • 举报
回复
--------
CopyFile("g:\\aa.txt","g:\\a111.txt",1);
1,0 分别为是否覆盖重名文件。
--------------
int iFromFileHandle,iToFileHandle;//声明文件对象
int iFileLength;//文件长度
int iBytesRead,iBytesWritten;//实际读、写文件的字节数
char *pszBuffer;//缓冲区
try
{
//打开源文件
iFromFileHandle=FileOpen(Edit1->Text,fmOpenRead);
//显示文件大小信息
iFileLength=FileSeek(iFromFileHandle,0,2);
Edit3->Text=IntToStr(iFileLength)+"字节";
pszBuffer=new char[2049];
FileSeek(iFromFileHandle,0,0);//将文件指针移到文件开始处
//打开目标文件
iToFileHandle=FileCreate(Edit2->Text);
//拷贝文件
do
{
iBytesRead=FileRead(iFromFileHandle,pszBuffer,2048);
iBytesWritten=FileWrite(iToFileHandle,pszBuffer,iBytesRead);
}while(iBytesRead==2048);
ShowMessage("拷贝文件完毕。");
delete[]pszBuffer;
FileClose(iFromFileHandle);//关闭源始文件
FileClose(iToFileHandle);//关闭目标文件
-----------

tell me your mail
i send a doc file to you !!
my : chenaz@163.net
kinglang 2002-04-22
  • 打赏
  • 举报
回复
to zbc(zbc) :

你写的那几行代码我试过了,但是好像在复制文件的时候只能在选择文件对话框的当前目录下建立别一个不同名的文件,而不能复制到另外的目录下面。
如果硬要建立的话,就显示不能创建文件。教教我,如何搞定。
kinglang 2002-04-21
  • 打赏
  • 举报
回复
楼上的,这个好简单啊!
zbc 2002-04-21
  • 打赏
  • 举报
回复
给你一个有反应的
TFileStream *f =new TFileStream(要拷贝的文件名,fmOpenRead);
TMemoryStream *m = new TMemoryStream();
m->CopyFrom(f,f->Size);
m->SaveToFile(要保存的文件名);
delete f;
delte m;
zk21 2002-04-21
  • 打赏
  • 举报
回复
看起来很多,把注释去了,也不多
zk21 2002-04-21
  • 打赏
  • 举报
回复
我也刚刚在看一个这样的例子
好用:
void __fastcall TForm1::Button3Click(TObject *Sender)
{
int iFromFileHandle, iToFileHandle; // ÉùÃ÷Îļþ¶ÔÏó
int iFileLength; // Îļþ³¤¶È
int iBytesRead, iBytesWritten;// ʵ¼Ê¶Á¡¢Ð´ÎļþµÄ×Ö½ÚÊý
char *pszBuffer; // »º³åÇø
try
{
// ´ò¿ªÔ´Îļþ
iFromFileHandle = FileOpen(Edit1->Text, fmOpenRead);
// ÏÔʾÎļþ´óСÐÅÏ¢
iFileLength = FileSeek(iFromFileHandle, 0, 2);
Edit3->Text = IntToStr(iFileLength) + " 字节";

pszBuffer = new char[2049];
FileSeek(iFromFileHandle, 0, 0); // ½«ÎļþÖ¸ÕëÒÆµ½Îļþ¿ªÊ¼´¦
// ´ò¿ªÄ¿±êÎļþ
iToFileHandle = FileCreate(Edit2->Text);

// ¿½±´Îļþ
do
{
iBytesRead = FileRead(iFromFileHandle, pszBuffer, 2048);
FileWrite(iToFileHandle, pszBuffer, iBytesRead);
} while( iBytesRead==2048 );

ShowMessage("¿½±´ÎļþÍê±Ï¡£");
delete[] pszBuffer;

FileClose(iFromFileHandle); // ¹Ø±ÕԴʼÎļþ
FileClose(iToFileHandle); // ¹Ø±ÕÄ¿±êÎļþ
}
catch(...)
{
Application->MessageBox("错误!", "´íÎó", MB_OK);
}
}
我的是2000,考过来中文字变这样了,谅解!
kinglang 2002-04-21
  • 打赏
  • 举报
回复
调用API是不是会减慢执行速度啊。
magicsnake 2002-04-21
  • 打赏
  • 举报
回复
开个线程,用CopyFile吧
talisman 2002-04-21
  • 打赏
  • 举报
回复
拷贝文件的命令很多啊api的copyfile等
movefile

13,871

社区成员

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

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