标准I/O函数库
来源:互联网 发布:cf调烟头软件 编辑:程序博客网 时间:2024/05/29 10:58
标准I/O函数库:
C标准库提供了文件的标准 I/O 函数库,相比前述的系统调用,主要差别是实现了跨平台的用户态缓冲的解决方案。标准I/O库使
用简单,与系统调用I/O相似,也包括打开、读写、关闭这些操作,主要的函数列举如下。
◆ 打开与关闭文件:fopen,fclose。
◆ 读写文件:fread,fwrite。
◆ 读写文本行:fgets,fputs。
◆ 格式化读写:fscanf,fprintf。
◆ 标准输入输出:printf,scanf。
◆ 读写字符:fgetc,getc,getchar,fputc,putc,putchar。
◆ 其他:fflush,fseek。
所谓标准 I/O 函数实际上是对底层系统调用的包装,最终读写设备或文件的操作仍需调用系统I/O函数来完成。
1. 两种I/O操作:
一类是f打头的fopen, fread, fwrite
一类是没有f打头的open, read, fwrite
原来一个是UNIX I/O(在类Unix系统上实现),另一类是标准I/O(在很多系统上都有实现,包括windows)。
2. 使用标准I/O的好处
因为在出UNIX的很多操作系统(包括Windows, linux)上都实现了此库,所有有利于软件的移植。
3. 与UnixI/O的主要区别
UNIX I/O的函数都是针对文件描述符的,而标准I/O的操作都是围绕流进行的。所为的流就是一个FILE *
标准I/O提供了缓存--为了尽量减少write, read的调用。
标准I/O的效率会低一些,因为它是多了一层封装。即,fread通过调用read来实现。
4. 标准I/O的头文件
stdio.h
三个标准I/O流预定义指针:stdin, stdout, stderr
(Unix I/O: STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO)
5. 缓存
有缓存就会有延迟,即输出设备上的内容和缓存中的内容很可能不一样。可以调用fflush刷新缓存。
有多种缓存类型,可以调用下面的API来更改默认缓存类型。
setbuf, setvbuf
setvbuf可以精确的说明缓存的类型。
fclose关闭流时也会刷新流。
当一个进程正常终止时(直接调用exit,或从main函数返回),则所有带未写缓存数据的标准I/O流都会被刷新,所有打开的标准I/O流都会被关闭。
1 0
- 标准I/O函数库
- Linux 标准I/O函数库
- Linux 标准I/O函数库
- 标准I/O函数库的缓冲
- 文件操作之标准I/O函数库
- Java 标准I/O
- 标准 C I/O
- 标准I/O库函数
- 标准I/O缓冲
- 标准I/O库
- 标准I/O库
- 标准I/O开发
- 标准I/O库
- 标准I/O限制
- 标准I/O
- 标准I/O库
- 标准I/O详解
- 标准I/O
- 将本地文件上传到远程仓库
- Lottie安卓开源动画库使用
- 阿里巴巴Java开发手册-异常日志-日志规约
- ++i与i++的区别
- 【t061】游览路线
- 标准I/O函数库
- leetcode 315. Count of Smaller Numbers After Self
- 出现Unable to find a pod with name, author, summary, or description matching解决方法
- 运动物体目标检测实现—基于OpenCV
- Shell脚本知识整理
- 网易有道2017内推编程题
- CentOS7系统上配置NTP时钟服务器
- JAVA 图形化界面的格式
- linux 每天自动备份mysql