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 之 文件系 ...
随机推荐
- [SCOI2014]方伯伯的OJ
看到这道题的第一想法就是要用FHQ treap 过了这道题...于是至今尚未成功(华丽的 T 掉了 (╯‵□′)╯︵┻━┻ ).于是附个地址. 然后水一波博客. 题意简介 emmmm...方伯伯脑抽做 ...
- Mudo C++网络库第十一章学习笔记
反思C++面向对象与虚函数 C++语言学习可以看<C++ Primer>这本书; 在C++中进行面向对象编程会遇到其他语言中不存在的问题, 其本质原因是C++ class是值语义, 而非对 ...
- MinGW GCC 7.1.0 2017年6月份出炉啦
MSYS_MinGW-w64_GCC_710_x86-x64_Full.7z 发布日期: 2017-06-03 18:33 69.4M 下载地址: http://xhmikosr.1f0.de/too ...
- 微信小程序弹出层点击穿透问题
问题描述:使用小程序的modal组件实现遮罩层效果时,会出现滚动穿透的问题,即遮罩层后面的页面依旧可以滚动. 解决方案: 给底层页面动态添加 position:fixed; 代码: wxml: < ...
- Vue 核心之数据劫持
前端界空前繁荣,各种框架横空出世,包括各类mvvm框架横行霸道,比如Angular.Regular.Vue.React等等,它们最大的优点就是可以实现数据绑定,再也不需要手动进行DOM操作了,它们实现 ...
- mysql管理工具percona-toolkit-3简单使用介绍
安装percona-toolkit-3 # -.el6.x86_64.rpm :.el6 -y 1.pt-summary #显示和系统相关的基本信息: [root@master ~]# pt-summ ...
- UVA 1395 MST
给你一个图, 求一个生成树, 边权Max – Min 要最小,输出最小值, 不能构成生成树的 输出 -1: 思路: Keuksal 算法, 先排序边, 然后枚举 第一条边, 往后加入边, 直到有 n- ...
- Linux系统基础优化及常用命令
Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. ifconfig 查询.设置网卡和 ...
- 前端 ----jQuery的动画效果
03-jQuery动画效果 jQuery提供的一组网页中常见的动画效果,这些动画是标准的.有规律的效果:同时还提供给我们了自定义动画的功能. 显示动画 方式一: $("div" ...
- 'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件
今天安装完MYSQL8.0的版本,根据课本的提示,在CMD里运行,出现了'mysql' 不是内部或外部命令,也不是可运行的程序或批处理文件.在网上搜了一下,他的解决方法是这样的: 1.设置一下环境变量 ...