标准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. planning深度剖析

    planning深度剖析 结合find命令过滤目录及文件名后缀: find /home/hadoop/nisj/automationDemand/ -type f -name '*.py'|xargs ...

  2. Jmeter之csv参数化

    创建数据源csv文件 在线程组中添加CSV Data Set Config 1.添加CSV Data Set Config 添加CSV Data Set Config 2.配置CSV Data Set ...

  3. 一个完整Java Web项目背后的密码

    前言 最近自己做了几个Java Web项目,有公司的商业项目,也有个人做着玩的小项目,写篇文章记录总结一下收获,列举出在做项目的整个过程中,所需要用到的技能和知识点,带给还没有真正接触过完整Java ...

  4. 【Shared Server Mode】测试调整shared_servers参数对数据库的影响

    本文来源于:secooler  的 <[Shared Server Mode]测试调整shared_servers参数对数据库的影响> 关于Shared Server模式的配置方法请参见文 ...

  5. Confluence 6 手动备份站点

    Confluence 被配置自动备份数据,使用压缩的 XML 格式.同时你也可以通过 Confluence 的 管理员控制台(Administration Console)手动进行备份. 你需要具有 ...

  6. Confluence 6 修改默认空间标识图片

    空间标识图片在边栏上的站点目录(Sites Directory)中作为图标进行显示.默认的空间标识图片将会应用到所有的空间中,如果你没有自定义的空间标识被定义的话,请查看 Configure the ...

  7. Spark Streaming通过JDBC操作数据库

    本文记录了学习使用Spark Streaming通过JDBC操作数据库的过程,源数据从Kafka中读取. Kafka从0.10版本提供了一种新的消费者API,和0.8不同,因此Spark Stream ...

  8. extjs中store的reload事件异步问题解决

    转载自:http://blog.sina.com.cn/s/blog_8f8b7fc10100zd75.html store0.reload({params:{start:0, limit:10}}) ...

  9. 爬虫框架之Scrapy

    一.介绍 二.安装 三.命令行工具 四.项目结构以及爬虫应用简介 五.Spiders 六.Selectors 七.Items 八.Item Pipelin 九. Dowloader Middeware ...

  10. java常用实用类

    1.String类概念 java程序中默认导入java.lang包的,像java.lang.String等String类属于final类,用户不能扩展String类,String 类没有子类.Stri ...