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 之 文件系 ...
随机推荐
- Unity中的GC以及优化
[简介] 常见的 Unity GC 知识点总结出来的思维导图 Unity 官方文档,正巧在博客园发现了已经有位大神(zblade)把原文翻译出来了,而且质量很高~,译文地址 在这里.下面我就可耻地把译 ...
- 制作ecc证书(linux命令行)
生成ECC证书.Debian:/home/test# openssl ecparam -out EccCA.key -name prime256v1 -genkeyDebian:/home/test# ...
- mysql5.6基于主从复制的mmm高可用架构详解
MMM规划192.168.3.12 master192.168.3.13 slave1192.168.3.198 slave2 MMM部署步骤1.配置主主复制及主从同步集群2.安装主从节点所需要的支持 ...
- mariadb:SQL日常使用总结
1.关联删除 DELETE T_Base_Resource_Action FROM T_Base_Resource_Action INNER JOIN T_Base_Resource ON T_Ba ...
- C/C++ 获取文件大小
在C语言中测试文件的大小,主要使用二个标准函数. 1.fseek 函数原型:int fseek ( FILE * stream, long int offset, int origin ); 参数说明 ...
- python的生成器(斐波拉契数列(Fibonacci))
代码: 函数版本: #斐波拉契数列(Fibonacci) def fib(max): n=0 a,b=0,1 while n < max: a,b = b,a+b n = n+1 return ...
- [Linux]PHP-FPM与NGINX的两种通讯方式
一.通过监听TCP端口通讯 php-fpm.d/www.conf ; The address on which to accept FastCGI requests. ; Valid syntaxes ...
- jquery中的attr与prop的区别,什么时候用attr,什么时候用prop
只要有 Boolean() 属性的,简单说就是具有true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),(其实这些都是表单类的), ...
- Linux more和less
一.more命令 more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 ...
- maven install 报错 No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
1.控制台打印信息 [INFO] Scanning for projects... [INFO] [INFO] ---------------------< org.cqupt.mauger:R ...