社区
C++ Builder
帖子详情
我根据bcb里面的帮助写了个文件拷贝的东东,可是发现好像没反应也。
kinglang
2002-04-21 01:26:34
用的是FileOpen,FileSeek,FileWrite等函数,基本上就是用的那个帮助文件里面的代码,结果运行一下没有反应,看了看也没有错误,因为我的机子的软盘坏了,所以不能把代码拷到网上来,哪位给我指点一下可能出现的问题?
...全文
195
9
打赏
收藏
我根据bcb里面的帮助写了个文件拷贝的东东,可是发现好像没反应也。
用的是FileOpen,FileSeek,FileWrite等函数,基本上就是用的那个帮助文件里面的代码,结果运行一下没有反应,看了看也没有错误,因为我的机子的软盘坏了,所以不能把代码拷到网上来,哪位给我指点一下可能出现的问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
Docker入门2——命令全解析!今天就上手docker好吗
本文详细介绍Docker的基础命令,包括
帮助
命令、查看版本、镜像相关命令及容器相关命令等。文章还介绍了如何创建容器、查看容器信息、启动停止容器等实用技巧。
在 Ubuntu 12.10 中使用 Virtualbox 安装 Win7虚拟机
本文介绍如何在Ubuntu系统中使用VirtualBox安装并配置Windows 7虚拟机,包括下载所需
文件
、添加虚拟硬盘、设置及命令安装步骤等。
在 Ubuntu 12.10 中使用 Virtualbox 安装 Win7
本文介绍如何在Ubuntu系统中使用VirtualBox安装Windows 7虚拟机,包括下载安装VirtualBox、创建虚拟硬盘、设置虚拟机参数等步骤。同时介绍了如何在Ubuntu下配置Win7虚拟机以实现USB设备接入、
文件
夹共享等功能。
在 Ubuntu 12.10 中使用 Virtualbox 安装 Win7(转载)
本文提供了在Ubuntu系统中安装并配置Windows7虚拟机的完整指南,包括下载虚拟机软件和镜像、添加虚拟硬盘、安装Windows7及后续优化操作。重点介绍了如何将用户添加到特定组以支持USB设备使用、安装模块助手和DKMS、安装内核头
文件
等关键步骤,以及安装虚拟机增强功能、接入USB设备、
文件
夹共享等实用技巧。
用WM_COPYDATA消息来实现两个进程之间传递数据
本文介绍如何使用 WM_COPYDATA 消息在 Windows 应用程序中实现进程间通信,包括发送与接收数据的具体步骤及注意事项。
C++ Builder
13,874
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章