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(); }
?