SYNOPSIS 总览

#include <stdio.h>

FILE *stdin;
FILE *stdout;
FILE *stderr;

DESCRIPTION 描述

标注 I/O 库函数提供了一个简单而有效的,带缓冲的流输出输出接口。输入和输出被映射为逻辑的数据流,物理的 I/O
特性则被隐藏起来。库中包含的函数与宏列在下面;更多信息可以从独立的 man 手册页中得到。

将一个流关联到一个外部文件 (可能是一个物理设备) 的方法是打开 ( opening )
这个文件,其中可能牵涉到创建一个新文件。创建已有的文件使得文件中已有的内容被丢弃。如果文件支持定位请求
(例如磁盘文件;但终端不是这样),那么一个与文件关联的定位标记 ( file position indicator ) 被定位到文件的起始 (0
字节),除非以追加模式打开文件。使用追加模式时,究竟定位标记位于文件的开始还是结束是没有指定的。定位标记由后续的读、写和定位请求来维护。从流中输入时,就如同字符是连续地成功调用了函数
fgetc(3) 而读入的;产生输出时,就如同所有字符是连续地成功调用了函数 fputc(3) 而输出的。

将一个流与一个与之关联的文件断开的办法是关闭 ( closing ) 这个文件。在流与文件断开之前,输出流被刷新
(任何未写入的缓冲的内容都被传输给主机环境)。在文件被关闭之后,指向 FILE 对象的指针的值是不确定的 (无用数据)。

一个文件可以继续被相同的或是不同的程序实体再次打开,它的内容可以被恢复或者修改 (如果它可以被重定位到文件开始的话)。如果 main
函数返回到它最初的调用者,或者调用了函数 exit(3) ,在程序终止前,所有打开的文件都将被关闭
(因此所有的输出流都被刷新)。其他终止程序的方法,例如 abort(3) 不会进行正常的关闭文件操作。

在程序启动时,会预先定义三个文本流,它们不需要显式地打开 --- 标准输入 (用于读入常规内容),--- 标准输出
(用于输出常规内容),以及 标准错误 (用于输出诊断信息)。这些流的缩写是 stdin,stdout 和 stderr
。在打开时,标准错误流不会完全缓冲;当且仅当流不是一个交互的设备时,标准输入和标准输出流才被完全缓冲。

指向终端设备的输出流总是默认使用行缓冲;未定的输出总是在指向一个终端设备的输入流被读取时自动被写入。如果在一个输出终端上打印了一行的一部分,然后运行了大量的计算后,应当在退出和计算前
fflush(3) 标准输出,使得输出可以显示出来。(?)

标准输入输出库 stdio 是函数库 libc 的一部分,需要时可以被编译器 cc(1) 和
pc(1) 自动加载。下列手册页的 SYNOPSIS 总览
段落会指出要包含哪些文件,函数定义的格式,以及它们受到哪些外部变量的影响。

下列为已定义的宏;如果不用 #undef 取消这些名称的当前定义的话,是不能重新使用它们的: BUFSIZ,
EOF, FILENAME_MAX, FOPEN_MAX, L_cuserid,
L_ctermid, L_tmpnam, NULL, SEEK_END,
SEEK_SET, SEE_CUR, TMP_MAX, clearerr, feof,
ferror, fileno, fropen, fwopen, getc,
getchar, putc, putchar, stderr, stdin,
stdout. 另外,还有与这些宏的功能对应的,函数形式的版本 feof, ferror,
clearerr, fileno, getc, getchar, putc, 和
putchar ,在显式地取消宏的定义时,可以使用它们。

LIST OF FUNCTIONS 函数列表

Function 函数
Description 描述
clearerr
检测并重置流状态
fclose
关闭流
fdopen
打开流
feof
检测并重置流状态
ferror
检测并重置流状态
fflush
刷新流
fgetc
从输入流中获取下一个字符或词
fgetpos
重定位流
fgets
从流中获取一行
fileno
返回流参数的整数形式的描述符
fopen
打开流
fprintf
按照格式输出常规内容
fpurge
刷新流
fputc
向流输出一个字符或词
fputs
向流输出一行
fread
二进制输入/输出
freopen
打开流
fropen
打开流
fscanf
按照格式输入常规内容
fseek
重定位流
fsetpos
重定位流
ftell
重定位流
fwrite
二进制输入/输出
getc
从输入流中获取下一个字符或词
getchar
从输入流中获取下一个字符或词
gets
从流中获取一行
getw
从输入流中获取下一个字符或词
mktemp
创建 (唯一的) 临时文件名
perror
系统错误消息
printf
按照格式输出常规内容
putc
向流输出一个字符或词
putchar
向流输出一个字符或词
puts
向流输出一行
putw
向流输出一个字符或词
remove
删除目录项
rewind
重定位流
scanf
按照格式输入常规内容
setbuf
流缓冲操作
setbuffer
流缓冲操作
setlinebuf
流缓冲操作
setvbuf
流缓冲操作
sprintf
按照格式输出常规内容
sscanf
按照格式输入常规内容
strerror
系统错误消息
sys_errlist
系统错误消息
sys_nerr
系统错误消息
tempnam
临时文件控制
tmpfile
临时文件控制
tmpnam
临时文件控制
ungetc
向输入流中退回字符
vfprintf
按照格式输出常规内容
vfscanf
按照格式输入常规内容
vprintf
按照格式输出常规内容
vscanf
按照格式输入常规内容
vsprintf
按照格式输出常规内容
vsscanf
按照格式输入常规内容 

stdio - 标准输入输出库函数的更多相关文章

  1. 《你必须知道的495个C语言问题》读书笔记之第11-14章:ANSI C标准、库函数、浮点数

    一.ANSI C标准 1. ANSI向C语言预处理器引入了几项新的功能,包括“字符串化”操作符(#).“符号粘贴”操作符(##).#pragma指令. 2. Q:char a[3] = "a ...

  2. flockfile, ftrylockfile, funlockfile - 为标准输入输出锁定文件 FILE

    SYNOPSIS 总览 #include <stdio.h> void flockfile(FILE *filehandle); int ftrylockfile(FILE *fileha ...

  3. C语言的标准输入输出

    1. 标准输入输出 标准输入.输出主要由缓冲区和操作方法两部分组.缓冲区实际上可以看做内存中的字符串数组,而操作方法主要是指printf.scanf.puts.gets,getcha.putcahr等 ...

  4. 【转载】标准输入输出重定向(Visual C++)

    原文:标准输入输出重定向(Visual C++) 引言 本人偶得在 Visual C++ 中进行输入输出重定向的办法,比通常的做法“freopen”更加的灵活和方便,特在此共享.目前,代码正在不断地摸 ...

  5. 从使用os.system)在python命令(重定向标准输入输出

    从使用os.system)在python命令(重定向标准输入输出 python 标准输出stdout stdio os.system通常我可以通过改变sys.stdout的值在python更改标准输出 ...

  6. C标准输入输出库

    这样的代码有什么问题? char c; while((c = getchar()) != EOF) ... 首先,保存getchar的返回值的变量必须是int型.EOF是getchar返回的“超出范围 ...

  7. C/C++ 标准输入输出重定向

    转载自:http://www.cnblogs.com/hjslovewcl/archive/2011/01/10/2314356.html 这个对经常在OJ上做题的童鞋们很有用.OJ基本都是用标准输入 ...

  8. linux标准输入输出及错误输出

    Linux Shell 环境中支持输入输出重定向,用符号"<"和">"来表示. 0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定 ...

  9. linux标准输入输出2>&1

    linux中有三种标准输入输出,分别是STDIN,STDOUT,STDERR,对应的数字是0,1,2.     STDIN是标准输入,默认从键盘读取信息:STDOUT是标准输出,默认将输出结果输出至终 ...

随机推荐

  1. Java开发中的23种设计模式详解(1)创建型

    设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  2. Riverside Curio

    Riverside Curio time limit per test1 second memory limit per test256 megabytes Arkady decides to obs ...

  3. php函数练习20191031

    <?php$str="what is you name?";$arr=array('i','s');$arr_1=array('s','i');//是先后替换的.echo s ...

  4. 本地存储(sessionStrorage,localStorage)

    1.本地存储特性 1. 数据存储在用户浏览器中 2. 设置,读取方便,设置页面刷新不丢失数据 3. 容量较大,sessionStorage约5M,localStorage约20M 4. 只能存储字符串 ...

  5. 联想think system sr550信息

    带外管理口 默认IP地址:192.168.70.125 默认用户名密码 USERID PASSW0RD    0是数字0

  6. Ubuntu命令行操作

    一.文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd - 回 ...

  7. jQuery遍历之向上遍历

    1.parent $(document).ready(function(){ $("a").parent().css({border:"4px solid black&q ...

  8. java模式-----单例模式

    什么是单例设计模式? 单例模式,是一种常用的软件设计模式.在它的核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例.即一个类只有一个对象实例. 类结构 ...

  9. 阿里云安装Cloudera Manager(草稿)

    选择三台同一局域网的阿里云服务器 最初使用阿里云.京东云.百度云的三台不同的服务器,遇到一些问题,没有解决,公网速度也没有保障,还是选择同一局域网的服务器吧 CM有三种不同的安装方式: 通过 Clou ...

  10. Linux文件压缩、解压缩及归档工具一

    主题Linux文件压缩.解压缩及归档工具 压缩工具很重要的,因为要经常到互联网下载包 一compress/uncompress compress [-dfvcVr] [-b maxbits] [fil ...