- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载
下载
附录C 习 题 答 案
第1章
1.1 利用l s ( 1 )命令中的下面两个选择项:- i—显示文件或目录的i节点数目(关于i节点在
4 . 1 4节中会详细讨论);- d—如果参数是一目录,只列出其名字,而不是目录中的所有文件。
执行命令的结果为:
$ l s -ldi /etc/. /etc/.. - i要求打印 i节点的数量
3077 drwxr-sr-x 7 bin 2048 Aug 5 20:12 /etc/./
2 drwxr-xr-x 13 root 512 Aug 5 20:11 /etc/../
$ls -ldi /. /.. .和 . .的i节点数均为 2
2 drwxr-xr-x 13 root 512 Aug 5 20:11 /./
2 drwxr-xr-x 13 root 512 Aug 5 20:11 /../
1.2 UNIX是多任务系统,所以,在程序 1 - 4运行的同时其他两个进程也在运行。
1.3 假如p e r r o r 的p t r 参数是一个指针,则p e r r o r就可以改变p t r 所指串的内容。所以利用限
定词c o n s t使得p e r r o r不能修改p t r 所指的串。而 s t r e r r o r的参数是错误号,由于其是整数类型并且
C传递的是参数值,因此s t r e r r o r不能修改参数的值,也就没有必要使用 c o n s t属性。(如果C 中函
数参数的处理不是很清楚,可参见K e r n i g h a n和R i t c h i e 〔1 9 9 8〕5 . 2节。)
1.4 调用ff l u s h ,f p r i n t f和v p r i n t f 函数可修改e r r n o 的值。如果它的值变了但没有保存,则最
终显示的错误信息是不正确的。
在过去开发的许多程序中,都可以发现不保存 e r r n o 的情况,典型的错误信息是“ Not a
t y p e w r i t e r (打字机不存在)”。5 . 4节中标准I / O库根据标准I / O流是否指向终端设备而改变流的
缓存器。i s t t y (见11 . 9节)通常用来判断流是否指向终端设备,如果流不指向终端设备, e r r n o
可能置为E N O T T Y ,从而引起该错误。程序C - 1显示了这一特性。
程序C-1 errno和p r i n t f的交互作用
附录C 习 题 答 案 5 1 9
下载
执行上面的程序,结果为:
$ grep BSD /etc/motd
4.3 BSD UNIX #29: Thu Mar 29 11:14:13 MST 1990
$ a . o u t
open error: error = 2 工作正常, s t d o u t是一个终端
$ a.out temp.foo
$ cat temp.foo
open error: error = 25 错误
1.5 2038年。
1.6 大约2 4 8天。
第2章
2.1 下面是4 . 3 + B S D 中使用的技术。在machine/ansi.h 中,用大写字母定义可在多个头
文件中出现的基本数据类型。例如:
# i f n d e f _ A N S I _ H _
# d e f i n e _ A N S I _ H _
# d e f i n e _CLOCK_T_ unsigned long
# d e f i n e _SIZE_T_ unsigned int
. . .
# e n d i f /* _ANSI_H_ */
以下面的顺序可以在这6个头文件中分别定义s i z e _ t 。
#ifdef
文档评论(0)