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风格的。

  1. Unix风格的错误处理

2.Posix风格的错误处理

只用返回值来表明成功(0)或者失败(非0)。任何有用的结果都返回在通过引用传递进来的函数参数中。

3.DNS风格的错误处理

A.2 错误处理包装函数

1.Unix风格的错误处理包装函数

2. Posix风格的错误处理包装函数

3. DNS风格的错误处理包装函数

最新文章

  1. TestNG Assert 详解
  2. Eclipse版本android 65535解决方案(原理等同android studio现在的分包方式)
  3. 在网页中怎样给已发布的Flash添加链接的方法(zhuan)
  4. 线上Linux服务器运维安全策略经验分享
  5. 深入了解webservice_概念总结
  6. WPF:简洁为美
  7. jsonp多次请求报错 not a function的解决方法
  8. linux 控制台使用技巧
  9. HTML contact form with CAPTCHA
  10. bullet_01
  11. 启动PHPstudy提醒80、3306端口被占用
  12. 工作流调度器azkaban(以及各种工作流调度器比对)
  13. vscode跳转到函数定义处
  14. WordPress分类列表函数:wp_list_categories用法及参数详解举例
  15. 我对if(!this.IsPostBack)的理解
  16. LoadRunner 11简单使用
  17. Android中的通信Volley
  18. 设计模式:装饰器(Decorator)模式
  19. Web测试中容易被忽略的Charset问题
  20. Android并发编程之白话文详解Future,FutureTask和Callable

热门文章

  1. K2 BPM介绍(1)
  2. PCB直角走线的影响
  3. html5复习--canvas
  4. 第一篇 深入嵌入式之Linux裸机
  5. how browser works
  6. 20155327Exp6 信息搜集与漏洞扫描
  7. SpringMVC初写(三)Controller的生命周期
  8. python爬虫beautifulsoup4系列1
  9. alibaba/Sentinel 分布式 系统流量防卫兵
  10. 微信小程序自定义 tabbar