摘要:
1、fopen(3) 分配结构体FILE的一块内存,在FILE类型中有一个成员变量_fileno,用于保存文件描述符。另外分配一块缓存,后边库函数对文件的读写操作是针对这块缓存的;调用open(2)打开相应文件。 2、fgetc(3) 调用fgetc的时候,主要是针对缓存,从缓存中获取数据,如果缓存 阅读全文
摘要:
Linux 库函数与系统调用的关系与区别 上周总结了《C 标准库的基础 IO》,其实这些功能函数通过「系统调用」也能实现相应功能。这次文章并不是要详细介绍各系统调用接口的使用方法,而是要深入理解「库函数」与「系统」调用之间的关系和区别。 一、系统调用 系统调用,我们可以理解是操作系统为用户提供的一系 阅读全文
摘要:
浅谈Linux下的五种I/O模型 一、关于I/O模型的引出 我们都知道,为了OS的安全性等的考虑,进程是无法直接操作I/O设备的,其必须通过系统调用请求内核来协助完成I/O动作,而内核会为每个I/O设备维护一个buffer。如下图所示: 整个请求过程为: 用户进程发起请求,内核接受到请求后,从I/O 阅读全文
摘要:
文件锁详解:https://www.ibm.com/developerworks/cn/linux/l-cn-filelock/ 文件锁操作函数: fcntl(2) #include<unistd.h> #include<fcntl.h> int fcntl(int fd,int cmd,.../* 阅读全文
摘要:
dup()函数和dup2()函数书上在文件操作那一章,已经讲过了,这周看重定向这块,发现它挺重要,就再看了回,记录下。 1、 dup函数 头文件及函数定义: dup用来复制参数oldfd所指的文件描述符。当复制成功是,返回最小的尚未被使用过的文件描述符,若有错误则返回-1.错误代码存入errno中返 阅读全文
摘要:
Linux中重定向 转:http://blog.csdn.net/songyang516/article/details/6758256 1重定向 1.1 重定向符号> 输出重定向到一个文件或设备 覆盖原来的文件>! 输出重定向到一个文件或设备 强制覆盖原来的文件>> 输出重定向到一个文件或设备 追 阅读全文
摘要:
Linux 文件描述符和重定向 2016-04-12 14:08 by pursuer.chen, 4191 阅读, 8 评论, 收藏, 编辑 介绍 文件描述符是与文件输入、输出相关联的整数,在编写脚本时会经常使用标准的文件描述符来将内容重定向输出,0、1、2是文件描述符(分别对应stdin、std 阅读全文
摘要:
可以使用以下函数来进行文件夹操作 opendir(3) #include<sys/types.h> #include<dirent.h> DIR *opendir(const char *name); 功能:打开一个 参数: name:指定了要打开的文件夹的名字 返回值: 错误:NULL,errno 阅读全文