在我复制文件的函数中
{
FILE *readfile,*writefile;
DWORD readlen,filelen,poslen=0;
CString strsrc,strdes;
char buf[512];
GetDlgItemText(IDC_EDIT1,strsrc);
GetDlgItemText(IDC_EDIT2,strdes); readfile=fopen(strsrc,"r");
writefile=fopen(strdes,"wb"); fseek(readfile,0,SEEK_END);
filelen=ftell(readfile); rewind(readfile);
while(1)
{
ZeroMemory(buf,10);
readlen=fread(buf,sizeof(char),512,readfile);
poslen+=readlen;
fwrite(buf,sizeof(char),readlen,writefile);
if(poslen==filelen)
{
AfxMessageBox("Copy successful");
return;
}
fflush(writefile);
fclose(writefile);
fclose(readfile);
}
}
文件没有复制成功,而且CPU的使用占到了100%,请高手看看,是哪里的问题?
{
FILE *readfile,*writefile;
DWORD readlen,filelen,poslen=0;
CString strsrc,strdes;
char buf[512];
GetDlgItemText(IDC_EDIT1,strsrc);
GetDlgItemText(IDC_EDIT2,strdes); readfile=fopen(strsrc,"r");
writefile=fopen(strdes,"wb"); fseek(readfile,0,SEEK_END);
filelen=ftell(readfile); rewind(readfile);
while(1)
{
ZeroMemory(buf,10);
readlen=fread(buf,sizeof(char),512,readfile);
poslen+=readlen;
fwrite(buf,sizeof(char),readlen,writefile);
if(poslen==filelen)
{
AfxMessageBox("Copy successful");
return;
}
fflush(writefile);
fclose(writefile);
fclose(readfile);
}
}
文件没有复制成功,而且CPU的使用占到了100%,请高手看看,是哪里的问题?
解决方案 »
- 困扰我半天的问题,谁帮我看看啊
- 我把CScrollView设置为MM_LOENGLISH模式,在SCrollView::OnDraw()里把缓冲DC的内容复制到CScrollView,结果不对.望高手指教
- snmp trap 如何实现主机CPU利用率高于指定阈值时自动告警?自动发送trap?
- 有directx高手吗,请教directsound的简单问题
- 高分相送:那里有高速下载vs.net2003最新版啊?(在线等待)
- 木马
- 调试问题
- 怎么使一个对话框上控件的值全部更新阿?
- 请问在COM添加类中,ATL CLASS和GENERIC CLASS在具体功能和实现上有什么区别!谢谢
- 请教各位大侠,关于多线程的一个问题
- MFC向导生成的勾选菜单项,显示隐藏工具栏的代码在哪里?
- MSN和自己编的软件存在DLL冲突的问题
fflush(writefile);
fclose(writefile);
fclose(readfile);
这段代码要放在while()后面
if(poslen==filelen) ---> if(readlen < 512)
这样在读到文件尾时就能结束循环
{
FILE *readfile,*writefile;
DWORD readlen,poslen=0;
CString strsrc,strdes;
char buf[512];
GetDlgItemText(IDC_EDIT1,strsrc);
GetDlgItemText(IDC_EDIT2,strdes); readfile=fopen(strsrc,"r");
writefile=fopen(strdes,"wb"); while(1)
{
ZeroMemory(buf,512);
readlen=fread(buf,sizeof(char),512,readfile); fwrite(buf,sizeof(char),readlen,writefile);
if(readlen<512)
{
AfxMessageBox("Copy successful");
break;
}
}
fflush(writefile);
fclose(writefile);
fclose(readfile);
}
但是复制压缩文件以后,解压生成的文件,提示文件被破坏,无法解压,但是复制文本文件却没有问题。
给你加分!