1、文件操作函数

      CreateFile();//创建或打开文件
      ReadFile();//从文件读
      WriteFile();//向文件写
      SetFilePointer();//设置文件指针
      CopyFile();//复制文件
      MoveFile();//移动或重命名文件
      DeleteFile();//删除文件

2、文件属性函数

      GetFileSize();//获取文件大小
      GetFileTime();//获取文件或目录的时间信息,如创建时间、最后修改时间、最后访问时间
      SetFileTime();//设置文件或目录的时间信息
      GetFileAttributesEx();//获取文件属性
      SetFileAttributes();//设置文件属性

3、文件的遍历和查找

      FindFirstFile();//查找第一个文件
      FindNextFile();//查找下一个文件
      FindClose();//关闭查找

4、目录操作函数

      CreateDirectory();//创建目录,只能创建一层目录
      RemoveDirectory();//删除一个空目录

5、判断文件或目录是否存在

以下转载自:http://liuzhigong.blog.163.com/blog/static/178272375201171594820785/

C中函数access()可以用来判断文件或文件夹是否存在。

函数原型: int access(const char *filename, int mode);

所属头文件:#include <io.h>

filename:可以填写文件夹路径或者文件路径

mode:0 (F_OK) 只判断是否存在

2 (R_OK) 判断写入权限

4 (W_OK) 判断读取权限

6 (X_OK) 判断执行权限

用于判断文件夹是否存在的时候,mode取0,判断文件是否存在的时候,mode可以取0、2、4、6。 若存在或者具有权限,返回值为0;不存在或者无权限,返回值为-1。

错误代码

EACCESS 参数pathname 所指定的文件不符合所要求测试的权限。

EROFS 欲测试写入权限的文件存在于只读文件系统内。

EFAULT 参数pathname指针超出可存取内存空间。

EINVAL 参数mode 不正确。

ENAMETOOLONG 参数pathname太长。

ENOTDIR 参数pathname为一目录。

ENOMEM 核心内存不足

ELOOP 参数pathname有过多符号连接问题。

EIO I/O 存取错误。

特别提醒:使用access()作用户认证方面的判断要特别小心,例如在access()后再做open()的空文件可能会造成系统安全上的问题。

在windows平台下还可以用API函数FindFirstFile()来判断文件或文件夹是否存在。

6、获取指定的目录

       GetCurrentDirectory();//获得当前目录
       SetCurrentDirectory();//设置当前目录
       GetSystemDirectory();//获得Windows系统目录
       GetWindowsDirectory()//获得Windows目录
       GetTempPath();//获取Windows临时文件目录

GetFullPathName()//获取指定文件的全路径
       SHGetSpecialFolderLocation()函数可以获取Windows桌面目录、启动目录、我的文档目录等

       第一个参数为“所有者窗口”,调用这个函数的时候可能出现对话框或消息框。

       第二个参数是一个整数id,决定哪个目录是待查找目录,它的取值可能是

       CSIDL_BITBUCKET 回收站  
       CSIDL_CONTROLS  控制面板
       CSIDL_DESKTOP   Windows桌面Desktop
       CSIDL_DRIVES    我的电脑
       CSIDL_FONTS     字体目录
       CSIDL_NETHOOD   网上邻居
       CSIDL_NETWORK   网上邻居虚拟目录
       CSIDL_PERSONAL  我的文档
       CSIDL_PRINTERS  打印机
       CSIDL_PROGRAMS  程序组
       CSIDL_RECENT    最近打开文档
       CSIDL_SENDTO    发送到"菜单项"
       CSIDL_STARTMENU 任务条启动菜单项
       CSIDL_STARTUP   启动目录
       CSIDL_TEMPLATES 临时文档

       第三个参数为pidl地址. SHGetSpecialFolderLocation把地址写到pidl

原文地址:http://wenku.baidu.com/link?url=98h1Wqau6ZXFTJQsiH6aS6OIvj0K6mW97_L4bXRDYB9f2YBiUtT7Jyk5yS5Odq0jBw48LdytxFbJqoVXg3jIliG2H8lOZ1eQ04zsBYudWgK

7、缩写的全路径和不缩写的全路径

GetLongPathName()将文件全路径转换为不缩写的全路径。

GetLongShortName()将文件全路径转换为缩写的全路径。

这两个函数极其重要!!!很多人写程序时不注意这一点——包括我,比如,使用GetModuleFileName获取文件路径,我们一般都将获取到的路径直接拿来用。在99.9%的情况下,我们获取到的是没有缩写的全路径,但是,某些情况下,获取到的却是缩写的,例如,

C:\Prog~1\Comm~1\aaa~1.exe

如果这个时候,取进程的名称,将得到aaa~1.exe,很明显,这种结果是我们所不愿意看到的,它会导致很严重的问题,而这种错误又是极其难以查找的。

所以,个人认为,在获取文件全路径后,都应该调用GetLongPathName,以便保证得到的路径不是缩写形式。

8、C/C++中文件、目录操作函数

remove():删除一个文件或目录。

rename():重命名或移动(如果系统支持的话)一个文件或目录

windows中操作文件和目录的函数的更多相关文章

  1. Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

    IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从 ...

  2. IO编程(2)-操作文件和目录

    操作文件和目录 如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只 ...

  3. Python学习笔记(二十五)操作文件和目录

    摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319253241 ...

  4. os,操作文件和目录

    如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操 ...

  5. python学习笔记 操作文件和目录

    如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操 ...

  6. Python3 IO编程之操作文件和目录

    如果我们要操作文件,目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如ls,cp等命令 如果要在python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令指示简单地调用了操作系 ...

  7. Python中的文件和目录操作实现

    Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...

  8. python—— 文件的打开模式和文件对象方法 & os、os.path 模块中关于文件、目录常用的函数使用方法

    引用自“鱼c工作室”     文件的打开模式和文件对象方法  : https://fishc.com.cn/forum.php?mod=viewthread&tid=45279&ext ...

  9. 【Python】[IO编程]文件读写,StringIO和BytesIO,操作文件和目录,序列化

    IO在计算机中指Input/Output,也就是输入和输出. 1.文件读写,1,读文件[使用Python内置函数,open,传入文件名标示符] >>> f = open('/User ...

随机推荐

  1. 使用PetaPoco结合注入实现业务级事务

    使用PetaPoco结合注入实现业务级事务   PetaPoco是一个轻量级ORM,我的MVC项目中使用它结合Repository模式,依靠Unity的生命周期管理对象,保证请求/线程级别的数据上下文 ...

  2. <c:if>判断两个<c:forEach>里的数据是否相等

    问题:两个<c:forEach>嵌套,里面循环的值和外面的值进行比较(里层里的PARENTID是否等于外层的ID),如果相等就显示. <c:forEach items="$ ...

  3. Call U

    Communication - 02.Call U App层 从大拇哥Click CallButton开始手机便已明白,主人这是要打电话.当然,你可以选择直接拨号,也可以通过ContactList,或 ...

  4. wubi安装ubuntu后,增加swap大小,优化swap的使用参数-----------让ubuntu健步如飞,为编译android源码准备

    wubi安装ubuntu后,终端输入free -m可以查到如下信息: total used free shared buffers cached Mem: 1944 1801 143 0 557 70 ...

  5. 捕鱼达人代码例子下载地址 Win版

    捕鱼达人代码例子下载地址 Win版:: http://pan.baidu.com/share/link?shareid=1601576904&uk=3189484501

  6. JQuery动态操作表格

    新人,小白一枚,刚刚参加工作,所以会在这里记录一些遇到的问题. 最近要做的东西,是对一个表格动态的添加行,删除行,并且对表格中内容进行非空验证. <!DOCTYPE html> <h ...

  7. bzoj1298题解

    [题意分析] 要求设计一组n个m面的骰子,使每一个骰子i对骰子a[i]的胜率都大于50%. [算法分析] 对于每个i,连一条从i指向a[i]的边,那么题目给出的关系构成了一个有向基环树森林. 对于树上 ...

  8. 20170114 - Mac 向上一级文件夹快捷键

    以前使用XtraFinder来实现向上跳转文件夹,Mac其实自带的向上一级文件夹,只是没有那么明显, Mac下跳转上一级文件夹的快捷键是 Command + Up Arrow,即: ⌘ ↑

  9. tab切换☆☆☆☆☆

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  10. extjs底层源码实现继承分析

    先说明一下在js中一般的继承是怎么写的 var farther=function(name){ this.name=name }; farther.prototype={ constructor:fa ...