FILE* fps = fopen(sourceFile, "rb");
FILE* fpn = fopen(newFile, "wb");
char c;
if(fps == NULL || fpn == NULL){
qDebug() << "123342654";
return -1;
}else{
while((c = fgetc(fps)) != EOF){ //从源文件中读取数据知道结尾
fputc(c, fpn);
}
}
fclose(fps);
fclose(fpn);
/*
ifstream in;
ofstream out;
setlocale(LC_ALL,"Chinese-simplified");//设置中文环境
// 打开源文件
//in.open(sourceFile, ios::binary);
in.open(sourceFile);
setlocale(LC_ALL,"C");//还原
//打开源文件失败
if(in.fail()){
in.close();
out.close();
qDebug() << "111111111111打开源文件失败!";
return -1;
}
//创建目标文件
out.open(newFile, ios::binary);
//创建文件失败
if(out.fail()){
out.close();
in.close();
qDebug() << "222222222222创建文件失败!";
return -2;
}
//复制文件
out << in.rdbuf();
out.close();
in.close();
*/
return 0;
尝试失败。。没有找到原因。
尝试使用QT
int CUtil::copyFile(QString sourceFile, QString newFile){
QDir* createFile = new QDir;
if(createFile->exists(newFile)){
createFile->remove(newFile);
}
if(!QFile::copy(sourceFile, newFile)){
return -1;
}
return 0;
}
这样测试成功!