第九节 标准输入输出
来源:互联网 发布:巨人网络估值 编辑:程序博客网 时间:2024/06/05 05:15
标准输入输出的基本操作,包括文件的打开与关闭,缓冲区的操作
非格式化输入输出,包括单个字节、字符串以及数据块的输入输出
格式化输入输出
1.标准输入输出的基本操作
标准输入文件(stdin):一般为键盘
标准输出文件(stout):一般为显示器
标准错误输出文件(stderr):一般为显示器
1.文件的打开
操作文件之前要打开文件,打开文件主要是在系统中分配一些资源用于保存该文件的状态信息,并获取文件的指针,
打开文件的函数为fopen
2.文件的关闭
fclose函数
3.缓冲区的刷新
刷新操作是指将缓冲区中的数据清除
fflush函数将缓冲区中的数据写入到磁盘文件或输出到用户终端,同时清空缓冲区
fpurge函数将缓冲区的数据直接清除,包括尚未读取或写入的数据
4.缓冲区属性的设置
缓冲区的大小和类型等都可以通过函数来设置,缓冲区的类型有下面3种。
全缓冲:缓冲区被填满后才执行输入输出操作,将数据写入到磁盘文件或输出到用户终端。
行缓冲:缓冲区中填入换行符时,执行输入输出操作
无缓冲:不对数据进行缓存,标准错误输出stderr一般就是无缓冲的,这可以使错误信息尽快地显示出来。
打开文件后,用户可以使用下面的函数来设定自己的文件缓冲区,而不使用fopen函数打开文件设定的默认缓冲区。
定义:
int setvbuf(FILE * stream,char * buf,int mode,size_t size);
说明:
在打开文件流后, 读取内容之前, 调用setvbuf()可以用来设置文件流的缓冲区。参数stream为指定的文件流,
参数buf指向自定的缓冲区起始地址, 参数size为缓冲区大小,
参数mode有下列几种
_IONBF 无缓冲IO
_IOLBF 以换行为依据的无缓冲IO
_IOFBF 完全无缓冲IO。如果参数buf为NULL指针, 则为无缓冲IO。
除上面函数外,还有如下3个函数:
setbuf
setbuffer
setlinebuf
2.非格式化输入输出
非格式化输入输出包括单个字节输入输出、字符串输入输出以及数据块输入输出
1.单个字节输入输出
从文件读一个字节
fgetc
getchar函数从标准输入读一个字节,等价于fgetc(stdin)
向指定文件写一个字节
fputc
putchar函数可以向标准输出写一个字节,等价于fputc(c, stdout)
2.字符串输入输出
fgets函数可以从指定的文件中读一行字符到缓冲区中,
fputs函数可以向指定的文件写入一个字符串
feof函数来测试读写位置是否到达文件末尾
3.数据块输入输出
对文件进行输入输出操作,也可以以数据块为单位进行,所谓数据块,是指一串固定长度的字节,从文件中
读取数据块用fread函数
向文件中写入数据块使用fwrite函数
3.格式化输入输出
格式化输出fprintf
printf等价于fprintf(stdout,...)
格式化输入函数为fscanf
scanf等价于fscanf(stdin,...)
- 第九节 标准输入输出
- 第九节 linux标准输入输出操作
- 标准输入输出
- 标准输入输出
- 标准输入输出
- 标准输入输出
- 标准输入输出
- 标准输入输出
- 标准输入输出
- php源码之路第五章第九节 (标准类)
- LINUX标准输入输出
- c 标准输入输出
- *标准输入输出流
- C语言标准输入输出
- JAVA标准输入输出流
- cgi的标准输入输出
- 标准输入输出函数
- 标准输入输出的控制
- 第八节linux文件系统
- [文摘] Zend Guard 5.5版本破解方式和加密后永不过期的操作方法
- CENTOS 6.5 配置YUM安装NGINX
- 关于程序员面试宝典书上一道删除单链表头元素的函数的题小结
- phpcms 动态调用 图片
- 第九节 标准输入输出
- 什么是姿态角(Euler角)pitch yaw roll
- 各种退出应用程序
- hadoop集群的搭建脚本及构思(二):程序文件的管理思路
- unbuntu 12.04新安装qt5.4配置及问题解决。
- 第十节 linux进程操作
- Cordys 主键自动 生成规则 前端 后端
- 可以随性,但别任性
- TCP/IP