C语言整理——文件系统和文件访问
标准C中规定了文件系统的访问和对文件本身的访问。不管是windows系统或者是泛unix系统,都实现了这些接口。在了解这些知识后,跨平台编程也将非常容易。
对文件系统的访问接口有:
- chdrive() 改变当前的工作驱动器。Ref。
- getdrives() 获取可用磁盘驱动器掩码。Ref。
- getdrive() 返回当前的磁盘驱动器,1代表A盘,2代表B盘,依次类推。Ref。
- chdir() 改变工作目录,结果同shell的dir(windows)或者ls(unix)操作。Ref。
- chmkdir() 创建目录,结果同shell的mkdir(windows)操作。
- chrd() 删除目录。
- chdrive() 改变磁盘驱动器。
- getcwd() 获取当前目录
- findfirst() 搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回-1L
- findnext() 搜索与_findfirst函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1
- fnsplit() 此函数将文件名path分解成盘符drive(C:、A:等),路径dir(\TC、\BC\LIB等),
- fumerge() 文件名name(TC、WPS等),扩展名ext(.EXE、.COM等)组成一个文件名
对文件本身的访问接口有:
- ungetc() 写文件函数(将指定字符写回文件流中)
- setvbuf() 设置文件流的缓冲区
- setlinebuf() 设置文件流为线性缓冲区
- setbuffer() 设置文件流的缓冲区
- setbuf() 设置文件流的缓冲区
- rewind() 重设文件流的读写位置为文件开头
- putchar() 字符输出函数(将指定的字符写到标准输出设备)
- putc() 写文件函数(将一指定字符写入文件中)
- mktemp() 产生唯一临时文件名
- gets() 字符输入函数(由标准输入设备内读进一字符串)
- getchar() 字符输入函数(由标准输入设备内读进一字符)
- getc() 读文件函数(由文件中读取一个字符)
- fwrite() 写文件函数(将数据流写入文件中)
- ftell() 取得文件流的读取位置
- fseek() 移动文件流的读写位置
- freopen() 打开文件函数,并获得文件句柄
- fread() 读文件函数(从文件流读取数据)
- fputs() 写文件函数(将一指定的字符串写入文件内)
- fputc() 写文件函数(将一指定字符写入文件流中)
- fopen() 文件打开函数(结果为文件句柄)
- fileno() 获取文件流所使用的文件描述词
- fgets() 读取文件字符串
- fgetc() 读文件函数(由文件中读取一个字符)
- fflush() 更新缓冲区
- feof() 检查文件流是否读到了文件尾
- fdopen() 将文件描述词转为文件指针
- fclose() 关闭打开的文件
- clearerr() 清除文件流的错误旗标
- write() 写文件函数
- sync() 写文件函数(将缓冲区数据写回磁盘)
- read() 读文件函数(由已打开的文件读取数据)
- open() 打开文件函数
- mkstemp() 建立临时文件
- lseek() 移动文件的读写位置
- fsync() 将缓冲区数据写回磁盘
- flock() 解除锁定文件
- fcntl() 文件描述词操作函数
- dup2() 复制文件描述词
- dup() 复制文件描述词
- creat() 创建文件函数
- close() 关闭文件
另外可参考的网站有:
C语言整理——文件系统和文件访问的更多相关文章
- NodeJS静态文件访问性能测试
受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼.最近,需要使用NodeJS做一个服务端HTML5的游戏服务器 ...
- [apue] linux 文件访问权限那些事儿
前言 说到 linux 上的文件权限,其实我们在说两个实体,一是文件,二是进程.一个进程能不能访问一个文件,其实由三部分内容决定: 文件的所有者.所在的组: 文件对所有者.组用户.其它用户设置的权限访 ...
- Windows平台内核级文件访问
1.背景 在windows平台下,应用程序通常使用API函数来进行文件访问,创建,打开,读写文件.从kernel32的CreateFile/ReadFile/WriteFile函数,到本地系统 ...
- Hadoop权威指南:HDFS-目录,查询文件系统,删除文件
Hadoop权威指南:HDFS-目录,查询文件系统,删除文件 [TOC] 目录 FileSystem实例提供了创建目录的方法 public boolean mkdirs(Path f) throws ...
- Python Cookbook(第3版)中文版:15.19 从C语言中读取类文件对象
15.19 从C语言中读取类文件对象¶ 问题¶ 你要写C扩展来读取来自任何Python类文件对象中的数据(比如普通文件.StringIO对象等). 解决方案¶ 要读取一个类文件对象的数据,你需要重复调 ...
- Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块
Python第五天 文件访问 for循环访问文件 while循环访问文件 字符串的startswith函数和split函数 linecache模块 目录 Pycharm使用技巧( ...
- 转://ASM与文件系统之间文件传输
熟悉数据库运维的程序猿都知道,数据的备份重于一切,随着业务的发展,数据量也会越来越大,有时候备份集会放在文件系统上面,有的备份集会放在asm存储上面,实现文件系统到文件系统之间的文件传输很简单,cp或 ...
- python - 文件系统和文件
文件系统和文件 文件系统是os用于明确磁盘或分区上的文件的方法和数据结构--即在磁盘上组织文件的方法 计算机文件,是存储在某种长期储存设备或临时存储设备中的一段数据流,并且 ...
- 背水一战 Windows 10 (92) - 文件系统: 读写“最近访问列表”和“未来访问列表”, 管理以及使用索引
[源码下载] 背水一战 Windows 10 (92) - 文件系统: 读写“最近访问列表”和“未来访问列表”, 管理以及使用索引 作者:webabcd 介绍背水一战 Windows 10 之 文件系 ...
随机推荐
- mysql 5.6 windows 启动脚本
2018-4-25 17:02:08 星期三 下载mysql 5.6 zip(免安装版)到本机 一台电脑上可能装有多个版本的mysql, 启动时为了不影响: 1. 解压后文件夹根目录改名为 mysql ...
- WinCE平台的程序编译到Win32平台下运行
最近做的项目中,有一个在WinCE平台上跑的程序,后来随着项目的发展,要求此程序在PC上也能跑.感谢VS 2005提供的多平台支持,只需要几分钟就可以解决这个问题,方法很简单,下面是我处理的过程. 1 ...
- spark-streaming集成Kafka处理实时数据
在这篇文章里,我们模拟了一个场景,实时分析订单数据,统计实时收益. 场景模拟 我试图覆盖工程上最为常用的一个场景: 1)首先,向Kafka里实时的写入订单数据,JSON格式,包含订单ID-订单类型-订 ...
- appium+java(五)微信小程序自动化测试实践
前言: 上一篇<appium+java(四)微信公众号自动化测试实践>中,尝试使用appium实现微信公众号自动化测试,接着尝试小程序自动化,以学院小程序为例 准备工作 1.java-cl ...
- [HTTP]Etag的工作流程
1. 浏览器首次访问该资源时,web服务器返回资源的同时,响应报文头携带ETag标签: 2. 浏览器将保存该Etag标签的值: 3. 当浏览器发起下一次请求,请求报文头将会携带 If-None-Mat ...
- 安装mysql5.7与创建用户和远程登录授权
环境:ubuntu18.04 参考文章:安装并远程登录授权:https://www.cnblogs.com/chancy/p/9444187.html 用户管理:https://www.cnblogs ...
- 查看ubuntu版本信息
参考文章:https://blog.csdn.net/qq_27818541/article/details/75207986 版本信息lsb_release -a No LSB modules ar ...
- python-包及日志模块使用
一.包 1.包就是一个保护有__init__.py文件的文件夹,包的本质就是一种模块,即包是用来导入使用的,包内部包含的文件也都是用来被导入使用的.包是为了更好组织好模块,就是一个文件夹. 注:在py ...
- npm常用模块
https://blog.csdn.net/heliumlau/article/details/70577727
- MySQL数据库下载、安装
地址:https://www.mysql.com/ 解压下载的文件 配置环境变量 新建系统变量 变量名:MYSQL_HOME 变量值:解压 mysql-5.7.24-winx64.zip 后的路径 ...