1.文件的复制
class="cpp" name="code">#include<iostream> #include<fstream> #include<io.h> #include<windows.h> using namespace std ; /**复制文件 filename :要复制的文件名 newfile :要复制到的文件名 */ int cpy(char*filename,char*newfile) { ifstream in ; ofstream out ; /** open函数的原型是 open(const char*filename,ios_base::openmode mode=ios_base::in) ; in_stream.open("file.txt");这样写参数实际上是指向这个常量字符串的指针 */ //打开文件 in.open(filename); //打开文件失败 if(in.fail()){ cout<<"打开文件失败"<<endl ; in.close(); out.close(); return 0 ; } out.open(newfile); if(out.fail()){ cout<<"创建文件失败"<<endl ; in.close(); out.close(); return 0 ; }else{//复制文件 out<<in.rdbuf(); out.close(); in.close(); return 1 ; } }
?2.文件的删除
??
/**删除文件
_access(char *,int) 判断文件是否存在
存在返回0,不存在返回-1
_access(const char *path,int mode)
mode的值:
00 是否存在
02 写权限
04 读权限
06 读写权限
*/
void deletee(char * filename)
{
if(!_access(filename,0))//如果文件还存在:文件只读,无法删除
{
//去掉文件只读属性
SetFileAttributes(filename,0) ;
if(DeleteFile(filename))
{
cout<<"删除成功"<<endl ;
}else{//无法删除,权限不够
cout<<" 无法删除:文件为只读属性或无删除权限."<<endl;
}
}else{//文件不存在
cout<<"文件不存在"<<endl ;
}
cin.get();
}
?
3.文件的重命名
?
/**
重命名
*/
void Rename(char*filename,char*newname)
{
if(!_access(filename,0)){ //如果文件存在
if(!rename(filename,newname))//删除成功
{
cout<<filename<<"文件成功重命名为"<<newname<<endl ;
}
else//无法重命名:文件打不开或权限不够
{
cout<<"文件无法重命名(可能原因如下):"<<endl;
cout<<"\t"<<"1. "<<newname<<" 已存在"<<endl
<<"\t"<<"2. "<<newname<<" 正在使用,未关闭."<<endl
<<"\t"<<"3. "<<"你没有权限重命名此文件."<<endl;
}
}else{//文件不存在
cout<<filename<<"不存在该文件。"<<endl ;
}
cin.get();
}
?