C++⽂件的复制、删除、重命名
⼀、⽂件的复制
#include <iostream>
#include <fstream>
using namespace std;
int CopyFile(char *SourceFile,char *NewFile)
{
ifstream in;
ofstream out;
in.open(SourceFile,ios::binary);//打开源⽂件
if(in.fail())//打开源⽂件失败
{
cout<<"Error 1: Fail to open the source file."<<endl;
in.close();
out.close();
return 0;
}
out.open(NewFile,ios::binary);//创建⽬标⽂件
if(out.fail())//创建⽂件失败
{
cout<<"Error 2: Fail to create the new file."<<endl;
out.close();
in.close();
return 0;
}
else//复制⽂件
{
out<<in.rdbuf();
out.close();
in.close();
return 1;
}
}
void main()
{
char source[256],NewFile[256];
cout<<"请输⼊要复制的⽂件路径:"<<endl;
cin>>source;
cout<<"请输⼊新⽂件的路径:"<<endl;
cin>>NewFile;
if(CopyFile(source,NewFile))
{
cout<<"⽂件已成功复制..."<<endl;
}
else
{
cout<<"⽂件复制失败..."<<endl;
}
<();
<();
}
⼆、⽂件的删除
#include <iostream.h>
#include <windows.h>
#include <io.h>
void main()
{
char source[256];//⽂件路径
cout<<"请输⼊要删除的⽂件路径:"<<endl;
cin>>source;
/* _access(char *,int) 判断⽂件是否存在
存在返回0;不存在返回-1.
_access(const char *path,int mode)
mode的值:
00 是否存在
02 写权限
04 读权限
06 读写权限
*/
if(!_access(source,0))//如果⽂件存在:⽂件为只读⽆法删除
{
//去掉⽂件只读属性
SetFileAttributes(source,0);
if(DeleteFile(source))//删除成功
{
cout<<source<<" 已成功删除."<<endl;
}
else//⽆法删除:⽂件只读或⽆权限执⾏删除
{
cout<<source<<" ⽆法删除:⽂件为只读属性或⽆删除权限."<<endl; }
无法复制文件}
else//⽂件不存在
{
cout<<source<<" 不存在,⽆法删除."<<endl;
}
<();
}
三⽂件的重命名
#include <iostream.h>
#include <windows.h>
#include <io.h>
void main()
{
char source[256];//⽂件路径
char newname[256];
cout<<"请输⼊要重命名的⽂件路径:"<<endl;
cin>>source;
cout<<"请输⼊⽂件的新名称:"<<endl;
cin>>newname;
if(!_access(source,0))//如果⽂件存在:
{
if(!rename(source,newname))//删除成功
{
cout<<source<<" 成功重命名为: "<<newname<<endl;
}
else//⽆法重命名:⽂件打开或⽆权限执⾏重命名
{
cout<<"⽂件⽆法重命名(可能原因如下):"<<endl;
cout<<"\t"<<"1. "<<newname<<" 已存在"<<endl
<<"\t"<<"2. "<<newname<<" 正在使⽤,未关闭."<<endl
<<"\t"<<"3. "<<"你没有权限重命名此⽂件."<<endl; }
}
else//⽂件不存在
{
cout<<source<<" 不存在,⽆法重命名."<<endl;
}
<();
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论