`

c++文件的复制,删除,重命名

c++ 
阅读更多

1.文件的复制

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

 

分享到:
评论

相关推荐

    (完整word版)C++-文件的复制、删除、重命名.doc

    (完整word版)C++-文件的复制、删除、重命名.doc

    系统自带的拷贝、移动、删除和重命名Demo

    windows系统自身提供了一套拷贝、移动、删除和重命名文件的windows shell函数,而不需要调用系统的CopyFile等api函数。 提供了两种函数接口,分别是vista版本前的SHFileOperation和之后版本的IFileOperation接口 ...

    C++版仿Linux文件管理系统

    实验实现的功能有目录的创建,删除,复制,粘贴,重命名,列表显示,以及文件的创建,删除,复制,粘贴,重命名,读写等功能。并对用户使用该文件系统需要简单注册登录,具有指导用户操作功能。压缩包内含有这个系统...

    简单的文件目录管理系统(Dev-C++实现)

     删除算法,删除指定的目录或文件,注意子目录能够被删除的前提是它不再包含任何的子目录和文件,并且根目录不能删除。  输出算法:对同一层次的子目录或文件按照创建时间有序输出。  设计算法实现cp命令,其...

    简单易用的批量重命名工具,C++语言编写

    正则命名:支持正则命名规则,并可自定义添加,还提供常用改名模板资源。 改名方式:提供常用的改名方式,如序号、插入、删除、...拖拽文件:支持拖拽文件或文件夹,右键操作和右键发送到功能,轻松解决重命名问题。

    Visual C++程序开发范例宝典 - 第5章

    实例185 文件复制过程中显示进度条 5.5 文件修改 实例186 修改应用程序图标 实例187 更改文件夹图标 实例188 批量删除指定类型的文件 实例189 批量重命名文件 实例190 修改文件属性 实例191 修改文件及目录的名称 ...

    在Linux环境下模拟实现命令解释器--C++

    mycopy &lt;已存在的文件名&gt; &lt;副本文件名或路径&gt; //复制一个已存在的文件 myfind &lt;目录&gt; -name &lt;待查找的文件名&gt; //在指定的目录及其子目录中查找指定的文件(输入文件名),并输出查找到的文件的绝对路径。

    监听文件是否改变

    5、程序开始监视该目录本身以及该目录下所有子目录和文件,若有任何变动(包括文件/文件夹重命名、移动、复制、删除、修改、新建等),则在屏幕打印“目录被改动![时间:(输出变动时间)]” 6、监视过程中,若用户...

    linux下文件管理系统的研究与实现

    Linux操作系统是现在流行的一种免费的...在研究了Linux文件系统及网络传输的原理基础上系统主要实现了对文件的管理,包括创建、删除、重命名、复制、移动和文件权限的修改的功能,以及对字符的搜索和对文件的网络传输。

    基于C++设计与实现的(控制台)多用户、多级目录结构文件系统(操作系统课程设计)【100012890】

    此外,该文件系统还提供指令及文件目录名的自动补全,文件及目录的复制、粘贴、剪切、重命名、查找和创建快捷方式,格式化等扩展功能,能对用户输入的错误命令进行错误提示,还能高效管理磁盘的 i 节点、SFD、数据区...

    读取USN,建立索引优化后的全盘快速搜索工具

    1、列表文件支持批量处理(删除、复制、复制文件名路径、打开、重命名),或者引用系统菜单。 2、支持拼音首字母缩写搜索,指定文件夹内搜索,多关键词搜索。 3、支持大部分文件打开、保存对话框的搜索定位。 4、...

    第四课:创建目录之MD命令的详解.docx

    第7课:文件管理之文件的复制--copy命令 第8课:文件管理之文件的删除--del命令 第9课:文件管理之文件的重命名--ren命令 第10课:文件管理之文件的移动--move命令 第11课:文件管理之type命令的使用 第12课:文件...

    学生成绩管理(Visual C++ )

    文件,以与应用程序一起使用,或干脆删除它而依赖 默认的 RegisterShellFileTypes 注册。 ///////////////////////////////////////////////////////// 对于主框架窗口: 项目将包含标准的 MFC 界面。 ...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例145 文件复制过程中显示进度条 5.5 文件修改 实例146 更改文件夹图标 实例147 批量删除指定类型的文件 实例148 批量重命名文件 实例149 修改文件属性 实例150 修改文件及目录的名称 5.6 文件的读取与...

    CentOS简易Linux命令行模拟器-C++

    7. mycopy:cp,接收源文件名和目标文件名(或路径)作为参数,实现文件复制功能。 8. myfind:部分find,接收三个参数(查找目录、-name选项和待查找的文件名)。递归遍历指定目录及其子目录,查找与给定文件名匹配...

    文件系统操作演示,VC++源代码

    摘要:VC/C++源码,文件操作,文件系统 文件系统操作演示,VC++源代码,主要讲解如何复制文件、删除文件、移动文件、重命名文件、显示文件复制过程对话框等。

    Visual C++程序开发范例宝典(PDF扫描版).part3

     cc实例145 文件复制过程中显示进度条   5.5 文件修改   cc实例146 更改文件夹图标   cc实例147 批量删除指定类型的文件   cc实例148 批量重命名文件   cc实例149 修改文件属性   cc实例150 ...

    QT实现文件资源管理器

    实现了文件管理器的基本工程,复制、粘贴、剪切、重命名、删除、新建文件夹、新建文件,实现双击打开文件,

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    cc实例143 批量移动文件 cc实例144 网络文件夹复制 cc实例145 文件复制过程中显示进度条 5.5 文件修改 cc实例146 更改文件夹图标 cc 实例147 批量删除指定类型的文件 cc实例148 批量重命名文件 ...

    Visual C++程序开发范例宝典(PDF扫描版).part2

     cc实例145 文件复制过程中显示进度条   5.5 文件修改   cc实例146 更改文件夹图标   cc实例147 批量删除指定类型的文件   cc实例148 批量重命名文件   cc实例149 修改文件属性   cc实例150 ...

Global site tag (gtag.js) - Google Analytics