当前位置: 首页 > article >正文

Windows 程序设计5:文件的删除、复制与重命名操作

文章目录

  • 前言
  • 一、文件的删除DeleteFile
  • 二、文件的复制CopyFile
  • 三、文件的移动MoveFile
  • 总结


前言

Windows 程序设计5:文件的删除、复制与重命名操作。


一、文件的删除DeleteFile

使用DeleteFile这个API函数进行文件的删除操作。函数语法如下

BOOL DeleteFile(
  [in] LPCTSTR lpFileName
);

参数lpFileName为一个字符串指针,传递参数时传递要删除文件的路径。
返回值为布尔类型,删除成功返回TRUE;删除失败返回FALSE,可使用GetLastError获取错误码。

按照https://blog.csdn.net/qq_59940419/article/details/145041593?spm=1001.2014.3001.5502方法新建一个Windows桌面应用程序的空项目,并新建一个.cpp文件。

删除之前下载的111.gif,下载见https://blog.csdn.net/qq_59940419/article/details/145185055?spm=1001.2014.3001.5502
在这里插入图片描述

#include<windows.h>
#include<tchar.h>
// 前两个参数用的不多,后两个参数用的较多,
//第一个参数为当前程序的实例句柄;第二个参数为上一个程序的实例句柄;第三个参数为命令行参数(字符串类型);第四个参数为显示方式
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPTSTR lpCmdLine, INT nShowCmd) // 通用字节类型的入口点函数
{
	BOOL bret1 = DeleteFile(_T("D:\\111.gif"));
	if (bret1)
	{
		MessageBox(NULL, _T("删除成功"), _T("提示"), MB_OK	);
	}
	else
	{
		MessageBox(NULL, _T("删除失败"), _T("提示"), MB_OK);
	}
	return 0;
}

运行后删除成功
在这里插入图片描述
D盘中不存在111.gif
在这里插入图片描述
此时D盘中已经没有111.gif文件,再次运行提示删除失败
在这里插入图片描述
另外需要注意,如果文件的属性为"只读",则也会删除失败
在这里插入图片描述
DeleteFile也可以删除只读属性的文件,这里不再赘述,大家自行上网查找资料即可。

二、文件的复制CopyFile

利用CopyFile将指定文件拷贝到目标路径文件,函数原型为

BOOL CopyFile(LPCTSTR lpExistingFileName,
LPCTSTR lpNewFileName,
BOOL bFailIfExists );

参数LPCTSTR lpExistingFileName为要拷贝的文件路径。
参数LPCTSTR lpNewFileName为要拷贝到的目标文件路径。
参数BOOL bFailIfExists,传递TRUE表示如果目标文件已经存在,则不拷贝,函数返回值为FALSE;传递FALSE表示如果目标文件已经存在,则覆盖目标文件。
返回值:函数执行成功,返回TRUE;否则返回FALSE。可使用GetLastError获取错误码。
这里拷贝D盘下的文件111副本.gif到E盘abc副本.gif,第三个参数传递FALSE,即如果文件存在则覆盖原有文件。

BOOL bret2 =  CopyFile(_T("D:\\111副本.gif"), _T("E:\\111副本.gif"), FALSE);
if (bret2)
	{
		MessageBox(NULL, _T("复制成功"), _T("提示"), MB_OK);
	}
else
	{
		MessageBox(NULL, _T("复制失败"), _T("提示"), MB_OK);
	}

运行后提示复制成功
在这里插入图片描述
且E盘内存在abc副本.gif
在这里插入图片描述
这里要注意一件事,由于C盘为系统盘,如果想要复制到C盘会失败。

BOOL bret2 =  CopyFile(_T("D:\\111副本.gif"), _T("C:\\abc副本.gif"), FALSE);

在这里插入图片描述

三、文件的移动MoveFile

移动一个已经存在的文件夹或者文件到一个新的位置,函数原型

BOOL MoveFile(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName)

参数LPCTSTR lpExistingFileName表示要移动的原文件或者文件夹的路径
参数LPCTSTR lpNewFileName表示要移动到的目标文件或者文件夹的路径
返回值:若函数执行成功,返回TRUE;失败返回FALSE,可使用GetLastError查看错误码。
将D盘下的111副本.gif移动到E盘下,并重命名为111new.gif

BOOL bret3 =  MoveFile(_T("D:\\111副本.gif"), _T("E:\\111new.gif"));
	if (bret3)
	{
		MessageBox(NULL, _T("移动成功"), _T("提示"), MB_OK);
	}
	else
	{
		MessageBox(NULL, _T("移动失败"), _T("提示"), MB_OK);
	}

可以看到移动成功
在这里插入图片描述
且D盘内的文件成功移动到E盘并且重命名
在这里插入图片描述


总结

Windows 程序设计5:文件的删除、复制与重命名操作。


http://www.kler.cn/a/522935.html

相关文章:

  • Java面试题2025-并发编程进阶(线程池和并发容器类)
  • window中80端口被占用问题
  • 【数据结构】空间复杂度
  • 过年之无用知识研究:恢复std::pair中被delete了的operator=,会如何
  • 互联网概述
  • Qt中Widget及其子类的相对位置移动
  • JVM栈溢出线上环境排查
  • 基于Ubuntu交叉编译ZLMediaKit
  • PCB Editor层叠文件(Gerber文件输出-01)
  • 【自然语言处理(NLP)】机器翻译之数据处理(数据收集、数据清洗、数据分词、数据标注、数据划分)
  • 2025年美赛数学建模C题 奥运奖牌表的模型
  • 2025.1.21——八、[HarekazeCTF2019]Avatar Uploader 2(未完成) 代码审计|文件上传
  • 代码随想录算法训练营第三十八天-动态规划-完全背包-322. 零钱兑换
  • 思维练习题
  • 【Unity3D】实现2D小地图效果
  • 忘记宝塔的访问地址怎么找
  • 【教学类-89-02】20250128新年篇02——姓名藏头对联(星火讯飞+Python,五言对联,有横批)
  • 项目测试之MockMvc
  • 【数据结构与算法】九大排序算法实现详解
  • 中科大:LLM检索偏好优化应对RAG知识冲突
  • 面向对象设计原则 - SOLID原则 (基于C++)
  • [Dialog屏幕开发] 设置方式对话框
  • 使用eNSP配置GRE VPN实验
  • 基于51单片机和ESP8266(01S)、8X8点阵屏的二进制WiFi时钟
  • 什么是循环神经网络?
  • python.tkinter设计标记语言(渲染7-动态呈现标签) - 副本