C++ 文件的复制、删除、重命名

一、文件的复制

include

#include

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<<"请输入要复制的文件路径:"<\
cin>>source;

cout<<"请输入新文件的路径:"<\
cin>>NewFile;

if(CopyFile(source,NewFile))

{

cout<<"文件已成功复制..."<<endl;

}

else

{

cout<<"文件复制失败..."<<endl;

}

cin.get();

cin.get();

}

C++ 文件的复制、删除、重命名

二、文件的删除

#include

#include

#include

void main()

{

char source[256];//文件路径

cout<<"请输入要删除的文件路径:"<\
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;

}

cin.get();

}



三 文件的重命名

#include

#include

#include

void main()

{

char source[256];//文件路径

char newname[256];

cout<<"请输入要重命名的文件路径:"<\
cin>>source;

cout<<"请输入文件的新名称:"<\
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;

}

cin.get();

}

原文链接: https://www.cnblogs.com/lidabo/p/3324713.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/104626

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月10日 上午7:45
下一篇 2023年2月10日 上午7:45

相关推荐