第10章 系统级I/O(下)
2024-10-15 12:07:04
10.7 I/O重定向
Unix外壳提供了I/O重定向操作符,允许用户将磁盘文件和标准输出输入联系起来。
例如:unix>ls>foo.txt,使得外壳加载和执行ls程序,将标准输出重定向到磁盘文件foo.txt。
另一种方式是使用dup2函数。
10.8 标准I/O
ANSI C定义了一组高级输入输出函数,称为标准I/O库,为程序员提供了Unix I/O的较高级别的替代。这个库(libc)提供了打开和关闭文件的函数(fopen和fclose)、读和写字节的函数(fread和fwrite)、读和写字符串的函数(fgets和fputs),以及复杂的格式化的I/O函数(scanf和printf)。
标准I/O库将一个打开的文件模型化为一个流。每个ANSI C程序开始时都有三个打开的流stdin、stdout和stderr,分别对应于标准输入、标准输出和标准错误:
类型为FILE的流是对文件描述符和流缓冲区的抽象。
附录A
A.1 Unix系统中的错误处理
本附录给出了一个关于Unix系统中不同种类的错误处理的教程,还给出了不同风格的错误处理包装函数示例。
本书中我们遇到的系统级函数的调用使用三种不同风格的返回错误:Unix风格的、Posix风格的和DNS风格的。
- Unix风格的错误处理
2.Posix风格的错误处理
只用返回值来表明成功(0)或者失败(非0)。任何有用的结果都返回在通过引用传递进来的函数参数中。
3.DNS风格的错误处理
A.2 错误处理包装函数
1.Unix风格的错误处理包装函数
2. Posix风格的错误处理包装函数
3. DNS风格的错误处理包装函数
最新文章
- TestNG Assert 详解
- Eclipse版本android 65535解决方案(原理等同android studio现在的分包方式)
- 在网页中怎样给已发布的Flash添加链接的方法(zhuan)
- 线上Linux服务器运维安全策略经验分享
- 深入了解webservice_概念总结
- WPF:简洁为美
- jsonp多次请求报错 not a function的解决方法
- linux 控制台使用技巧
- HTML contact form with CAPTCHA
- bullet_01
- 启动PHPstudy提醒80、3306端口被占用
- 工作流调度器azkaban(以及各种工作流调度器比对)
- vscode跳转到函数定义处
- WordPress分类列表函数:wp_list_categories用法及参数详解举例
- 我对if(!this.IsPostBack)的理解
- LoadRunner 11简单使用
- Android中的通信Volley
- 设计模式:装饰器(Decorator)模式
- Web测试中容易被忽略的Charset问题
- Android并发编程之白话文详解Future,FutureTask和Callable