C++ 文件的复制、删除、重命名
一、文件的复制
#include <iostream>
#include <fstream>
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<<"请输入要复制的文件路径:"<<endl;
cin>>source;
cout<<"请输入新文件的路径:"<<endl;
cin>>NewFile;
if(CopyFile(source,NewFile))
{
cout<<"文件已成功复制..."<<endl;
}
else
{
cout<<"文件复制失败..."<<endl;
}
cin.get();
cin.get();
}
二、文件的删除
#include <iostream.h>
#include <windows.h>
#include <io.h>
void main()
{
char source[256];//文件路径
cout<<"请输入要删除的文件路径:"<<endl;
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 <iostream.h>
#include <windows.h>
#include <io.h>
void main()
{
char source[256];//文件路径
char newname[256];
cout<<"请输入要重命名的文件路径:"<<endl;
cin>>source;
cout<<"请输入文件的新名称:"<<endl;
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();
}
C++ 文件的复制、删除、重命名的更多相关文章
- delphi 文件的操作:重命名、复制、移动、删除
Delphi 文件的操作:重命名.复制.移动.删除第一种方法: RenameFile('Oldname', 'Newname'); CopyFile(PChar('Oldname'), PChar(' ...
- Python批量复制和重命名文件
Python批量复制和重命名文件 示例代码 #! /usr/bin/env python # coding=utf-8 import os import shutil import time impo ...
- (转)Windows重启延迟删除,重命名技术原理
所谓重启延迟删除技术,就是在操作系统启动前删除或者替换文件! 说起重启延迟删除,大家可能都很陌生,但是实际上,该功能已经被各种软件所采用:如安装Windows 补丁程序(如:HotFix.Servic ...
- python之对指定目录文件夹的批量重命名
python之对指定目录文件夹的批量重命名 import os,shutil,string dir = "/Users/lee0oo0/Documents/python/test" ...
- Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量。
myeclipse和eclipse集成编译软件,都提供了一个快捷键用来批量重命名变量:Alt+Shift+R组合键,用来在一个java文件中批量的重命名变量.扩展知识:如果想要重命名文件名,又不想手动 ...
- Python 写了一个批量生成文件夹和批量重命名的工具
Python 写了一个批量生成文件夹和批量重命名的工具 目录 Python 写了一个批量生成文件夹和批量重命名的工具 演示 功能 1. 可以读取excel内容,使用excel单元格内容进行新建文件夹, ...
- Linux_文件及文件夹[创建][复制][移动][删除][重命名]
一.文件/文件夹创建 1.文件的创建 touch , vi/vim/nano , ... 语 法: touch [-acfm][-d <日期时间>][-r <参考文件或目 录&g ...
- VC 复制移动删除重命名文件文件
说明: 1.以下封装了4个函数_CopyFile,_DeleteFile,_MoveFile,_ReNameFile 2.每个函数都先拷贝了原来的路径,保证了路径是以2个\0\0结尾.(如果不以2个\ ...
- 【ANT】创建删除目录,复制移动重命名文件
一.创建目录: <?xml version="1.0"?> <project default="test_mkdir"> <tar ...
- 大学MOOC课程视频下载、流文件合并、批量重命名、b站视频下载及学习课程视频推荐
计算机行业技术更新快,编程语言种类多,在当今大数据和人工智能的时代,为了能在相关领域有所成就,就必须掌握好python.R等语言,较好的数学基础和深入的行业背景知识.计算机从业人员务必践行" ...
随机推荐
- linux function
#!/bin/bash function sayHello() { #这里的{ 和它前面的)之间可以没有空格 echo "Hello $1" } sayHello 'Neeky'
- SQL Server 内存压力解决方案
外部压力: 表现形式: 1.total server memory ↓ 2.avilable Mbyte 平衡 3.working set ↓ 如果说SQ ...
- Git学习04 --分支管理
每次commit,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而是指向master ...
- Nginx 配置指令的执行顺序(十一)
紧跟在 post-access 阶段之后的是 try-files 阶段.这个阶段专门用于实现标准配置指令 try_files 的功能,并不支持 Nginx 模块注册处理程序.由于 try_files ...
- EasyUI 使用心得
最近项目中用到EasyUI,总结了一下 注:EasyUI中所有的控件不能重名,否则会出现意向不到的后果.这是EasyUI框架决定的. ① EasyUI 获取文本框中的值 //日期 $('#beginD ...
- Spring Boot 部署与服务配置
Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项 ...
- Unix/Linux环境C编程入门教程(26) 字符数字那些事儿
1.gcvt() strtod() strtol() strtoul() toascii() tolower() toupper函数介绍 gcvt(将浮点型数转换为字符串,取四舍五入) 相关函数 ec ...
- 2.x ESL第二章习题2.5
题目 描述 $y_i=x_i^T\beta+\epsilon_i$$\epsilon_i\sim N(0,\sigma^2)$ 已有训练集$\tau$,其中$X:n\times p,y:n\times ...
- C#调用HTTP接口
string url = "http://www.***.com?id=123&username=test&userpwd=*****"; WebRequest w ...
- 使用Mysql.data.dll文件在服务器上运行访问Mysql
我使用的这个Mysql.data.dll文件 web.config上面主要需要声明以下代码 <system.data> <DbProviderFactories> <ad ...