8.6 如何复制文件

CopyFile函数

//复制文件,如果目标文件存在将不覆盖。
if (::CopyFile(strSourcePathName, strTargetPathName, TRUE))
{AfxMessageBox(_T("复制文件成功。"));
}
else
{AfxMessageBox(_T("复制文件失败。"));
}

8.7 如何移动文件

MoveFile函数

//移动文件
if (::MoveFile(strSourcePathName, strTargetPathName))
{AfxMessageBox(_T("移动文件成功。"));
}
else
{AfxMessageBox(_T("移动文件失败。"));
}

8.8 如何删除文件

DeleteFile函数

//删除文件
if(::DeleteFile(strPathName))
{AfxMessageBox(_T("删除文件成功。"));
}
else
{AfxMessageBox(_T("删除文件失败。"));
}

8.9 如何重命名文件

使用CFile::Rename静态方法

//重命名文件
CFile::Rename(strOldPathName, strNewPathName);AfxMessageBox(_T("重命名文件成功。"));

8.10 如何查找文件

用CFileFind 相关操作

void CDemoDlg::Find(LPCTSTR lpszFileName)
{CString strWildcard = lpszFileName;strWildcard += _T("\\*.*");CFileFind finder;BOOL bFind = FALSE;//查找文件bFind = finder.FindFile(strWildcard);while (bFind){//查找下一个文件bFind = finder.FindNextFile();//判断找到文件的是否包含"."或".."if (finder.IsDots()){continue;}//获得找到文件的名称if (finder.IsDirectory()){//找到文件的路径CString strFilePath = finder.GetFilePath();//递归查找文件Find(strFilePath);}//获得找到文件的名称CString strFileName = finder.GetFileName();CListBox* pListBox = (CListBox*)GetDlgItem(IDC_FILELIST);pListBox->AddString(strFileName);} //结束查找finder.Close();
}

8.11 如何使用Shell操作文件

8.12 如何获得应用程序的目录

GetModuleFileName函数

void CDemoDlg::OnGetAppDir()
{TCHAR szFileName[MAX_PATH];//获得应用程序的文件全路径和文件名if (::GetModuleFileName(NULL, szFileName, MAX_PATH)){//去掉文件名CString strFileName = szFileName;int nIndex = strFileName.ReverseFind('\\');CString strDirectory = strFileName.Left(nIndex);CString strText = _T("");strText.Format(_T("应用程序目录:\n%s"), strDirectory);AfxMessageBox(strText);}
}

8.13 如何获得或设置进程的当前目录

GetCurrentDirectory和SetCurrentDirectory方法

void CDemoDlg::OnGetCurDir()
{TCHAR szDirectory[MAX_PATH];//获得进程的当前目录if (::GetCurrentDirectory(MAX_PATH, szDirectory)){CString strText = _T("");strText.Format(_T("进程的当前目录:\n%s"), szDirectory);AfxMessageBox(strText);}
}void CDemoDlg::OnSetCurDir()
{CString strDirectory = _T("C:\\");//设置进程的当前目录if (::SetCurrentDirectory(strDirectory)){CString strText = _T("");strText.Format(_T("进程的当前目录:\n%s"), strDirectory);AfxMessageBox(strText);}
}

8.14 如何获得Windows目录和System目录

GetWindowsDirectory和GetSystemDirectory函数,即C盘的Windows目录及Windows的System32子目录

void CDemoDlg::OnGetWinDir()
{TCHAR szDirectory[MAX_PATH];//获得Windows目录if (::GetWindowsDirectory(szDirectory, MAX_PATH) > 0){CString strText = _T("");strText.Format(_T("Windows目录:\n%s"), szDirectory);AfxMessageBox(strText);}
}void CDemoDlg::OnGetSysDir()
{TCHAR szDirectory[MAX_PATH];//获得System目录if (::GetSystemDirectory(szDirectory, MAX_PATH) > 0){CString strText = _T("");strText.Format(_T("System目录:\n%s"), szDirectory);AfxMessageBox(strText);}
}

Win32 文件(2)相关推荐

  1. win32文件读写demo

    新建一个控制台工程:代码: // file.cpp : Defines the entry point for the console application. //#include "st ...

  2. 使用office2007打开excel报错:不是有效的win32文件

    因为一些原因不能使用wps操作word,当使用office打开时报错 使用了在注册表新加office的方法 在记事本中写如下代码,保存为.reg格式的文件 Windows Registry Edito ...

  3. python readfile 管道_使用win32的正确方法是什么文件.ReadFile从管道中获取输出?

    我正在使用pywin32扩展来访问Python下的win32api.我是用Python编写Windows编程的新手--我是一个POSIX的人--所以我可能是在用一种头脑简单的方式做事.在 我试图正确地 ...

  4. idea没有out文件夹_史上最详细没有之一的 Java JNI傻瓜级入门教程

    本文使用java的IDEA和visual studio2017来详细的一步一步演示java的JNI构建过程(eclipse+vs2017的教程在文末) 1.打开java的IDEA,file->n ...

  5. Matlab 日常技巧 ,判断文件存在

    前言 在写一个大程序的时候需要批量读入文件,这时候就有一个问题了,需要提前判断文件是否存在,避免出漏子. 正文 当前目录中包含以下文件及文件夹: startup.m win64/ - 判断当前目录中是 ...

  6. Cocos2d-x 3.0新引擎文件夹结构

    Cocos2d-x 3.0新引擎文件夹结构 2014年4月29日  Cocos2d-x 3.0学习 作为一个Cocos2d-x的菜鸟,我倒是挺愿意关注不同版本号之间的差别,Cocos2d-x 3.0自 ...

  7. VS2019 WPF制作OTA上位机(二)获取bin文件路径

    OTA升级是通过无线通信远程把bin文件内容传输到单片机,完成升级. 因此上位机需要获取bin文件的路径,读取bin文件内容,将内容分割依次发送(因为单片机的接收缓存不会开得和bin文件一样大(十几K ...

  8. matlab生成exe独立运行文件已破解(好用)

    相同位置,替换四个文件 2014a的解决办法: 适用于已安装compiler但破解不完全的, 将serial文件夹中的 serial\Matlab64\bin\win64(安装matlab是64位的, ...

  9. c 调用matlab文件路径,C/C++下调用matlab函数操作说明

    1.matlab的安装 连接:http://pan.baidu.com/s/1qXuF7aO 安装32位版本的matlab(在目录下bin文件夹中有两个文件夹,选择win32文件夹下的setup进行安 ...

  10. 拇指接龙游戏从WIN32向Xcode 4.5移植过程问题记录

    当前的测试环境是: 1,VMware Workstation 9.0.2 2, Windows 7(64 bit) 3,(通过VMware安装)Mac OS X 10.8(64 bit)+Xcode ...

最新文章

  1. sql server 2008手工修改表结构,表不能保存的问题与解决
  2. 卷积神经网络(CNN)_相关知识
  3. 2018蓝桥杯省赛---java---B---4(测试次数)
  4. Vue第一部分(3):事件绑定与标签属性赋值
  5. LeetCode OJ:Combination Sum III(组合之和III)
  6. 【激活函数】Mish激活函数详解
  7. TechEd 2008 Developers: 新闻汇总
  8. Windows下MYSQL数据库BOOT密码的修改方法
  9. 读《我是一只 IT 小小鸟》
  10. spring读取配置文件
  11. JTA分布式事务处理
  12. 安卓学习专栏——实现记住密码功能(图文+代码)
  13. 获取iOS设备唯一标识 uuid
  14. python MySQLdb 一个连接connection多个cursor
  15. speedoffice表格如何全选表格
  16. win10中Charles从下载安装到证书设置和雷电模拟器或浏览器中抓包测试
  17. win10 u盘 修复计算机,u盘启动修复Win10引导文件丢失的方法
  18. mysql索引 b树_B树与MySQL数据库索引.ppt
  19. python短路逻辑特性,使用Python三目计算符的用法及短路逻辑方法介绍
  20. 基于FPGA的Bubble 游戏开发

热门文章

  1. javascript中的滚动到顶部和Scroll有关的方法
  2. 编曲时如何在FL Studio卷帘窗口修改单个音符音量
  3. FL Studio软件隐藏优惠码分享,音乐制作必备,创作无限可能!
  4. Linux内核提供了三种不同形式的中断底半部实现机制:软中断、tasklet和工作队列。...
  5. 《交互式程序设计 第2版》一第2章 编程基础
  6. SharePoint专家新闻轮转器WebPart----亲測力推之Web部件
  7. Spring MVC 3.0 深入
  8. 使用QRCode轻松实现二维码扫描下载的功能
  9. split和explode有什么区别?
  10. 算法分析中的空间复杂度