C语言流

您所在的位置:网站首页 scanf读字符串 C语言流

C语言流

2023-06-04 10:37| 来源: 网络整理| 查看: 265

C语言流 流

就每个C程序而言,所有的I/O操作只是简单从程序引进和移出字节,这种字节流叫做流,绝大多数流是完全缓冲的,这意味着读取和写入实际上是从一块称为缓冲区的内存区域来回复制数据,从内存中来回复制数据是非常快捷的,用于输出流的缓冲区只有被写满时才会被刷新到设备或文件中,把写满的缓冲区一次性输出比逐片输出更加有效率

fflush函数的作用是迫使缓冲区的数据立即被写入,不管缓冲区是否已满

流分为两种类型:文本流和二进制流

所谓文本流是指在流中流动的数据是以字符形式出现。

二进制流是指流动的是二进制数字序列,若流中有字符,则用一个字节的二进制ASCII码表示,若是数字,则用一个字节的二进制数标识。在流入流出时,对\n符号不进行变换。例如2001这个数,在文本流中用其ASCII码表示为

'2' '0' '0' '1'

||||

50 48 48 49

共占4字节。而在二进制流中则表示为:00000111 11010001 用十六进制就是07D1,只占两字节

流总览

数据类型 输入 输出 描述 返回类型

字符 getchar putchar 读取(输入)单个字符 int(为了接收EOF,EOF宏定义为-1)

文本行 gets puts 文本行未格式化的输入(输出) char*(文本行)

scanf printf 文本行格式化的输入(输出)

二进制 fread fwrite 读取(写入)二进制数据 FILE*(FILE是一种数据结构)

格式化的行I/O scanf //scanf函数普遍都是从输入源读取数据,然后根据给定格式代码进行转化,根据输入源的不同,将scanf划分为三种 int scanf(const char*format,...)//输入源为标准输入,比如键盘等 int fscanf(FILE*stream,char const*format,...)//输入源为作为参数给出的流,流的类型为FILE* int sscanf(const char*string,const char*format,...)//输入源为作为参数给出的字符串 //当格式化字符串到达末尾或者读取的输入不再匹配格式化字符串所指定的类型时,输入就停止了 //在任何一种情况下,被转换的输入值的数目作为函数返回值返回,如果在任何输入值被转化之前文件就达到了尾部,返回EOF //指针参数的类型必须与格式代码相匹配,否则会产生垃圾值或者改写临近变量 //可以通过%n返回目前为止scanf从输入读取的字符数,%n并不被计算在scanf的返回值内,它本身不消耗任何输入 printf //printf函数用于创建格式化输出 int fprintf(FILE*stream,char const*format,...)//使用任意输出流,将指定格式的代码输出到文件流中 int printf(char const*format,...)//输出到标准输出中 int sprintf(char*buffer,char const *format,...)//将以NULL结尾的字符串输出到指定缓冲区中 //再讲讲格式代码参数的格式 //首先是符号位flag,正号表示右对齐,负号表示左对齐,然后是宽度,其次是精度,点数后表示位数,不够用0填充

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3