标准C中规定了文件系统的访问和对文件本身的访问。不管是windows系统或者是泛unix系统,都实现了这些接口。在了解这些知识后,跨平台编程也将非常容易。

对文件系统的访问接口有:

  1. chdrive()     改变当前的工作驱动器。Ref
  2. getdrives()  获取可用磁盘驱动器掩码。Ref
  3. getdrive()   返回当前的磁盘驱动器,1代表A盘,2代表B盘,依次类推。Ref
  4. chdir()        改变工作目录,结果同shell的dir(windows)或者ls(unix)操作。Ref
  5. chmkdir()    创建目录,结果同shell的mkdir(windows)操作。
  6. chrd()         删除目录。
  7. chdrive()     改变磁盘驱动器。
  8. getcwd()     获取当前目录
  9. findfirst()    搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回-1L
  10. findnext()   搜索与_findfirst函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1
  11. fnsplit()      此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),
  12. fumerge()   文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名

    对文件本身的访问接口有:

  1. ungetc()      写文件函数(将指定字符写回文件流中)
  2. setvbuf()     设置文件流的缓冲区
  3. setlinebuf()  设置文件流为线性缓冲区
  4. setbuffer()   设置文件流的缓冲区
  5. setbuf()       设置文件流的缓冲区
  6. rewind()       重设文件流的读写位置为文件开头
  7. putchar()     字符输出函数(将指定的字符写到标准输出设备)
  8. putc()          写文件函数(将一指定字符写入文件中)
  9. mktemp()     产生唯一临时文件名
  10. gets()          字符输入函数(由标准输入设备内读进一字符串)
  11. getchar()      字符输入函数(由标准输入设备内读进一字符)
  12. getc()          读文件函数(由文件中读取一个字符)
  13. fwrite()        写文件函数(将数据流写入文件中)
  14. ftell()           取得文件流的读取位置
  15. fseek()         移动文件流的读写位置
  16. freopen()     打开文件函数,并获得文件句柄
  17. fread()         读文件函数(从文件流读取数据)
  18. fputs()         写文件函数(将一指定的字符串写入文件内)
  19. fputc()         写文件函数(将一指定字符写入文件流中)
  20. fopen()        文件打开函数(结果为文件句柄)
  21. fileno()         获取文件流所使用的文件描述词
  22. fgets()         读取文件字符串
  23. fgetc()         读文件函数(由文件中读取一个字符)
  24. fflush()        更新缓冲区
  25. feof()          检查文件流是否读到了文件尾
  26. fdopen()      将文件描述词转为文件指针
  27. fclose()        关闭打开的文件
  28. clearerr()     清除文件流的错误旗标
  29. write()         写文件函数
  30. sync()         写文件函数(将缓冲区数据写回磁盘)
  31. read()         读文件函数(由已打开的文件读取数据)
  32. open()        打开文件函数
  33. mkstemp()  建立临时文件
  34. lseek()        移动文件的读写位置
  35. fsync()        将缓冲区数据写回磁盘
  36. flock()         解除锁定文件
  37. fcntl()         文件描述词操作函数
  38. dup2()        复制文件描述词
  39. dup()          复制文件描述词
  40. creat()         创建文件函数
  41. close()         关闭文件

另外可参考的网站有:

C语言整理——文件系统和文件访问的更多相关文章

  1. NodeJS静态文件访问性能测试

    受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼.最近,需要使用NodeJS做一个服务端HTML5的游戏服务器 ...

  2. [apue] linux 文件访问权限那些事儿

    前言 说到 linux 上的文件权限,其实我们在说两个实体,一是文件,二是进程.一个进程能不能访问一个文件,其实由三部分内容决定: 文件的所有者.所在的组: 文件对所有者.组用户.其它用户设置的权限访 ...

  3. Windows平台内核级文件访问

    1.背景     在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件.从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统 ...

  4. Hadoop权威指南:HDFS-目录,查询文件系统,删除文件

    Hadoop权威指南:HDFS-目录,查询文件系统,删除文件 [TOC] 目录 FileSystem实例提供了创建目录的方法 public boolean mkdirs(Path f) throws ...

  5. Python Cookbook(第3版)中文版:15.19 从C语言中读取类文件对象

    15.19 从C语言中读取类文件对象¶ 问题¶ 你要写C扩展来读取来自任何Python类文件对象中的数据(比如普通文件.StringIO对象等). 解决方案¶ 要读取一个类文件对象的数据,你需要重复调 ...

  6. Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块

    Python第五天   文件访问    for循环访问文件    while循环访问文件   字符串的startswith函数和split函数  linecache模块 目录 Pycharm使用技巧( ...

  7. 转://ASM与文件系统之间文件传输

    熟悉数据库运维的程序猿都知道,数据的备份重于一切,随着业务的发展,数据量也会越来越大,有时候备份集会放在文件系统上面,有的备份集会放在asm存储上面,实现文件系统到文件系统之间的文件传输很简单,cp或 ...

  8. python - 文件系统和文件

    文件系统和文件        文件系统是os用于明确磁盘或分区上的文件的方法和数据结构--即在磁盘上组织文件的方法        计算机文件,是存储在某种长期储存设备或临时存储设备中的一段数据流,并且 ...

  9. 背水一战 Windows 10 (92) - 文件系统: 读写“最近访问列表”和“未来访问列表”, 管理以及使用索引

    [源码下载] 背水一战 Windows 10 (92) - 文件系统: 读写“最近访问列表”和“未来访问列表”, 管理以及使用索引 作者:webabcd 介绍背水一战 Windows 10 之 文件系 ...

随机推荐

  1. mysql 5.6 windows 启动脚本

    2018-4-25 17:02:08 星期三 下载mysql 5.6 zip(免安装版)到本机 一台电脑上可能装有多个版本的mysql, 启动时为了不影响: 1. 解压后文件夹根目录改名为 mysql ...

  2. WinCE平台的程序编译到Win32平台下运行

    最近做的项目中,有一个在WinCE平台上跑的程序,后来随着项目的发展,要求此程序在PC上也能跑.感谢VS 2005提供的多平台支持,只需要几分钟就可以解决这个问题,方法很简单,下面是我处理的过程. 1 ...

  3. spark-streaming集成Kafka处理实时数据

    在这篇文章里,我们模拟了一个场景,实时分析订单数据,统计实时收益. 场景模拟 我试图覆盖工程上最为常用的一个场景: 1)首先,向Kafka里实时的写入订单数据,JSON格式,包含订单ID-订单类型-订 ...

  4. appium+java(五)微信小程序自动化测试实践

    前言: 上一篇<appium+java(四)微信公众号自动化测试实践>中,尝试使用appium实现微信公众号自动化测试,接着尝试小程序自动化,以学院小程序为例 准备工作 1.java-cl ...

  5. [HTTP]Etag的工作流程

    1. 浏览器首次访问该资源时,web服务器返回资源的同时,响应报文头携带ETag标签: 2. 浏览器将保存该Etag标签的值: 3. 当浏览器发起下一次请求,请求报文头将会携带 If-None-Mat ...

  6. 安装mysql5.7与创建用户和远程登录授权

    环境:ubuntu18.04 参考文章:安装并远程登录授权:https://www.cnblogs.com/chancy/p/9444187.html 用户管理:https://www.cnblogs ...

  7. 查看ubuntu版本信息

    参考文章:https://blog.csdn.net/qq_27818541/article/details/75207986 版本信息lsb_release -a No LSB modules ar ...

  8. python-包及日志模块使用

    一.包 1.包就是一个保护有__init__.py文件的文件夹,包的本质就是一种模块,即包是用来导入使用的,包内部包含的文件也都是用来被导入使用的.包是为了更好组织好模块,就是一个文件夹. 注:在py ...

  9. npm常用模块

    https://blog.csdn.net/heliumlau/article/details/70577727

  10. MySQL数据库下载、安装

    地址:https://www.mysql.com/ 解压下载的文件 配置环境变量 新建系统变量 变量名:MYSQL_HOME 变量值:解压  mysql-5.7.24-winx64.zip  后的路径 ...