首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于fread和fwrite的有关问题

2012-12-14 
关于fread和fwrite的问题,求高手指教我想把C:\\aa.exe 这个文件复制成C:\\MFC\\bb.exe文件,但是程序运行结

关于fread和fwrite的问题,求高手指教
我想把C:\\aa.exe 这个文件复制成C:\\MFC\\bb.exe文件,但是程序运行结果后会复制不全,即只复制了一部分,所以bb.exe这个文件无法运行,请问我这样写哪里有问题,请高手修改。




#include <windows.h>
//#include <stdlib.h>
//#include <stdio.h>
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
FILE *fpSource;
FILE *fpDest;
char buf;
if (!(fpSource = fopen("C:\\aa.exe","r")))
{
return -1;
}

if (!(fpDest = fopen("C:\\MFC\\bb.exe","w")))
{
return -1;
}

while(fread(&buf,1,1,fpSource) != 0)
{

fwrite(&buf,1,1,fpDest);
}
fclose(fpSource);
fclose(fpDest);
return 0;
}


[最优解释]
fopen 时 要 rb wb形式打开。
[其他解释]
char buf不对吧,应该定义成一个数组吧。
char buf[1024];

热点排行