`

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

    下面是文件复制的代码实现: ```c #include #include using namespace std; int CopyFile(char *SourceFile, char *NewFile) { ifstream in; ofstream out; in.open(SourceFile, ios::binary); if (in....

    C++ 文件操作类(拷贝、删除、移动、改名)

    在C++编程中,文件操作是一项基础且重要的任务,它涉及到读取、写入、创建、删除、移动和重命名文件。本节我们将详细探讨如何使用C++的标准库中的文件操作类来执行这些操作。 首先,C++标准库提供了一个名为`...

    c++编程之文件的改名复制移动删除和属性设置

    `CopyFile`函数用于将一个文件复制到另一个位置。函数原型如下: ```cpp BOOL CopyFile( LPCTSTR lpExistingFileName, // 源文件名 LPCTSTR lpNewFileName, // 目标文件名 BOOL bFailIfExists // 如果目标文件已...

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

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

    VC+移动,复制,删除文件

    ### 三、文件复制:CopyFile函数 #### 实现原理: ```cpp bool CopyFile(char *pTo, char *pFrom) { SHFILEOPSTRUCT FileOp = {0}; FileOp.fFlags = FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR; FileOp.pFrom = p...

    基于c++的文件管理系统

    1. 主要功能:包括文件的创建、删除、重命名、复制、移动,目录的管理,权限控制,文件的搜索和访问,以及存储空间的分配和释放。 2. 数据流图:描绘了文件系统中数据的流动路径,如用户请求到文件操作的转换,以及...

    C++使用hookapi监控文件操作程序

    在这个DLL中,实现了文件操作的监控逻辑,包括文件的创建、删除、重命名和移动等。 3. **文件监控原理**:在Windows操作系统中,文件操作通常会触发CreateFile、DeleteFile、MoveFile等API函数的调用。通过hook这些...

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

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

    windows下文件操作监控

    参数包括要监视的目录路径、是否监视子目录以及需要监控的改变类型(如文件创建、删除、重命名等)。 2. `ReadDirectoryChangesW`:这个函数用来读取由`FindFirstChangeNotification`设置的句柄所接收的改变通知。...

    文件管理系统 C++ Build

    在这个文件管理系统中,用户可以通过点击按钮、选择菜单项等方式进行交互,执行文件操作,如打开、关闭、移动、复制、重命名等。 4. **文件操作**:`file.cpp`、`login.cpp`、`property.cpp`、`newfile.cpp`、`...

    C++BUILDER的文件操作.rar

    - C++Builder提供了VCL框架中的TFile类,它提供了一些高级的文件操作,如复制、移动、重命名、检查是否存在、获取文件属性等。例如,`TFile::Copy("source.txt", "destination.txt");`。 4. **TFileStream类** - ...

    C++纯API实现文件zip压缩的版本管理.zip

    它提供了API接口用于添加、删除、重命名文件以及处理ZIP档案中的数据。使用libzip时,开发者需要编写C++的封装类或者函数,将C风格的API转换为面向对象的接口,以便在C++项目中方便地使用。 minizip则是一个轻量级...

    VC 移动,复制,删除文件(SHFileOperation)总集

    printf("文件复制成功。\n"); } else { printf("文件复制失败。\n"); } ``` #### 4. 移动文件 移动文件的操作也遵循相同的模式,只是将`wFunc`字段设置为`FO_MOVE`。 ```cpp bool MoveFile(const char* pTo, ...

    C++文件操作说明

    ### 文件复制、移动、重命名 1. **复制文件**:可以使用`CopyFile`函数或`system`函数。例如: ```cpp if (!CopyFile(L"c:\\source.txt", L"c:\\destination.txt", FALSE)) { // 处理错误 } ``` 2. **移动...

    (源码)基于C++的Unix文件系统模拟.zip

    # 基于C++的Unix文件系统模拟 ## 项目简介 本项目是一个模拟Unix文件系统的实现,包括一...5. 文件系统操作实现文件的读写、复制、重命名等操作。 6. 磁盘缓存通过高速缓存结构减少磁盘读写次数,提高文件系统效率。

    文件监视,监视对文件的复制删除移动等操作

    在IT领域,文件监视是一项重要的技术,主要用于跟踪和记录对文件系统中文件的各种操作,如复制、删除、移动等。这种技术广泛应用于系统管理和安全监控,帮助管理员了解系统的活动情况,及时发现潜在的问题和异常行为...

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

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

    RFL.rar_强制删除_强制删除文件_强制复制

    文件复制可以通过打开源文件和目标文件,然后逐字节读写实现。在C++中,可以使用`&lt;fstream&gt;`库的`ifstream`和`ofstream`对象配合实现。粘贴则是复制操作的逆过程,将剪贴板中的数据写入目标位置。 3. **剪切(移动...

    C++模拟windows资源管理器源码

    3. **多线程**:为了提高用户体验,资源管理器可能需要在后台进行耗时的操作,如文件复制或查找。这需要使用到C++的多线程功能,如`std::thread`,以确保主线程(负责显示UI)不受阻塞。同时,线程间的通信和同步,...

Global site tag (gtag.js) - Google Analytics