赞
踩
概念
C程序把输入看做是字节流,输入流来来源于文件,输入设备(键盘),或者甚至是另一个程序的输出。类似的,C程序把输出也看做是字节流,输出流的目的地可以是文件、视频显示…
文件
文件通常是在磁盘或固态硬盘上的一段已命名的存储区。C把文件看做是一系列连续的字节,每个字节都可以被单独读取。c提供俩种文件模式,文本模式和二进制模式。
文本模式和二进制模式
所有文件的内容都以二进制形式(0或1)存储。但是如果文件最初使用二进制编码的字符表示文本,该文件就是文本文件,其中包含文本内容。如果文件中的二进制代表机器语言代码或者是数值数据,该文件就是二进制文件,包括二进制内容。
C提供俩种访问文件的途径:二进制模式和文本模式。在二进制模式中,程序可以访问文件的每个字节。文本模式中,程序所见的内容和文件的实际内容不同。
I/O的级别
底层I/O:使用操作系统提供的基本I/O服务。
标准高级I/O:使用c库的标准包和stdio.h有文件定义。
因为无法保证所有的操作系统都使用相同的底层I/O模型,C标准只支持I/O包。
标准文件
C程序会自动打开3个文件,他们被称为标准输入、标准输出、标椎错误输出。
exit()函数
1.exit()函数关闭所有打开的文件并结束程序。通常的惯例是:正常结束的程序传递0,异常结束的程序传递非0值。不同的退出值可用于区分程序失败的不同原因。C标准规定了一个最小的限制范围。用0或宏EXIT_SUCCESS表明成功结束程序,用宏EXIT_FAILURE表明结束程序失败。其原型都在stdlib.h.
2.根据ANSI C的标准,在最初调用的main()中使用return 0和调用exit(0)效果相同。可是真的相同吗?
3.在一定的限制条件下是相同的,比如在主函数中且不使用递归的情况下。
4.区别之一:例如main()在一个递归程序中,exit()任然会终止程序,但是return 只会把控制权交给上一级递归,直至最初的一级。然后return 结束程序。
5.即使在其他函数,调用exit()也可以结束程序,return 0没有这个功能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。