I/O操作和进程一个案例
来源:互联网 发布:单片机应用论文 编辑:程序博客网 时间:2024/05/19 00:42
标准I/O库将一个打开的文件模型化为一个流,一个流就是一个指向FILE类型的结构的指针,对于每个ANSIC程序开始时,都有三个打开的流stdin,stdout
,stderr,分别对应于标准输入,输出,错误。类型为FILE的流是对文件描述符和流缓冲区抽象,流缓冲区的目是为了使得开销较高的系统I/O系统调用尽量可能少,例如:
一个程序如果反复调用标准I/O的getc函数,每次调用返回文件的下一个字符,当第一次掉哟个getc函数时,库通过调用一次read函数填充缓冲区,然后将缓冲区 的第一个字符
返回给应用程序,只要缓冲区还有未读的字节,接下来对getc的调用就能直接从缓冲区得到服务。
1.进程和文件I/O操作
#include<stdio.h>#include<unistd.h>#include<stdlib.h>#include<wait.h>#include<errno.h>#include<signal.h>#include<sys/types.h>#include<fcntl.h>#include<sys/stat.h>//open write read lseek close 函数所在的头文件pid_t Fork(void){ pid_t pid; if((pid=fork())<0) { perror("Fork error"); } return pid;}int main(){ int fd; char c; fd=open("/home/yy/foobar.txt",O_RDONLY,0); if(Fork()==0) { //子进程会继承父进程的描述符表,以及所有进程共享的同一个打开的文件夹 read(fd,&c,1); //读文件一个第一个字节 exit(0); } wait(NULL); //再次读的时候文件位置会+1 read(fd,&c,1); printf("c=%c\n",c); //输出第二个字符 }
0 0
- I/O操作和进程一个案例
- 系统I/O和标准I/O案例
- 异步非i/o操作和异步i/o
- 同步和异步I/O操作
- 一个比较多线程(并行)和非多线程下完成同等任务(I/O频繁)所需开销的案例
- Linux驱动程序之I/O端口操作和I/O内存操作__raw_readl和__raw_writel函数
- 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)
- 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)
- 浅谈无缓存I/O操作和标准I/O文件操作区别(转)
- 浅谈无缓存I/O操作和标准I/O文件操作区别
- 无缓存I/O操作和标准I/O文件操作区别
- 浅谈无缓存I/O操作和标准I/O文件操作区别
- 浅谈无缓存I/O操作和标准I/O文件操作区别
- 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)
- 浅谈无缓存I/O操作和标准I/O文件操作区别
- 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)
- 浅谈无缓存I/O操作和标准I/O文件操作区别 (转载)
- 浅谈无缓存I/O操作和标准I/O文件操作区别
- 请一些不会招聘的人滚出招聘界
- 10大玄机为你揭开炒土豆丝爽脆的秘密——尖椒土豆丝
- MVC5 Entity Framework学习之添加排序、筛选和分页功能
- 好博文汇总
- myeclipse 提示参数
- I/O操作和进程一个案例
- 实时计算、流式处理系统简介与简单分析 .
- KVC与KVO理解
- lvm详解
- 用exp/imp做数据迁移
- 实时计算那些事
- 对互联网海量数据实时计算的理解
- Auto-Build, Deploy and Notify with Jenkins
- Java的几种集合