C语言字符串输入输出函数(gets()函数、puts()函数、fgets()函数、fputs()函数)
scanf("%s", str)
不能读取空白字符,遇到第一个空白字符就停止读取。gets(str)
读取整行输入,直至遇到换行符,丢弃换行符储存其余字符,并在末尾添加\0
。与puts(str)
配合使用,puts()
用于显示字符串,并在末尾添加换行符。
因为 gets(str)
函数仅有一个参数,因此无法检测是否会溢出,因此出现了 fgets()
函数。
fgets(str, n, stdin)
从键盘输入最多 n-1 个字符至 str 数组中。此函数还需注意:- 第一个参数为目标地址,第二个参数为可读入的最大字符数目,如果为 n,则最大读入 n-1 个字符,或者读到换行符停止。
- 第三个参数为文件指针,此函数同样也可用于文件I/O,只需使第三个参数为相应的文件指针,此处从键盘读取,故使用标准输入 stdin。
- 若
fgets()
读到换行符,则将其一同存储,不同于gets()
函数。 fgets()
与fputs()
函数配对使用,因为fgets()
读到换行符不丢弃,因此fputs()
输出时不在末尾添加换行符。因此,fgets()
和fputs()
配合可以理解为读到什么,就存什么;存了什么,就显示什么。- 如果此函数读取发生错误或读至文件末尾,会返回 NULL。
puts(str)
显示 str 数组中的字符,直至遇到空字符停止输出,并在末尾添加一个换行符。fputs(str, stdout)
显示 str 中的字符。其第二个参数是文件指针,同样也可以使用具体的文件指针将字符串写入文件中。
配对使用:
while(gets(str))
puts(str);
或者
while(fgets(str, LEN, stdin))
fputs(str, stdout);
C语言字符串输入输出函数(gets()函数、puts()函数、fgets()函数、fputs()函数)的更多相关文章
- C语言 · 字符串输入输出函数
算法提高 3-2字符串输入输出函数 时间限制:1.0s 内存限制:512.0MB 描述 编写函数GetReal和GetString,在main函数中分别调用这两个函数.在读入一个实数 ...
- C字符串输入输出函数
下面就几个常用的字符串输入输出函数做个小小的总结TAT 使用时添加头文件:#include<stdio.h>. scanf("格式控制字符串",变量地址列表):(pri ...
- Java实现 蓝桥杯VIP 算法提高 3-2字符串输入输出函数
算法提高 3-2字符串输入输出函数 时间限制:1.0s 内存限制:512.0MB 描述 编写函数GetReal和GetString,在main函数中分别调用这两个函数.在读入一个实数和一个字符串后,将 ...
- C语言学习<输入输出函数,函数的调用>
#include <stdio.h> /* 输入输出函数的学习 函数的调用 2017.05.25 soulsjie */ //输入连个数字求最大值 void main(){ int Max ...
- c语言的输入输出函数
参考文章: http://blog.sina.com.cn/s/blog_784f40b80100psg9.html C语言输入输出函数分为两类: 1.格式化输入输出函数 2.非格式化输入输出 --- ...
- C语言中输入输出函数
1.1.1 格式化输入输出函数Turbo C2.0 标准库提供了两个控制台格式化输入. 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据.pri ...
- C语言格式化输入输出函数
一:格式输出函数printf() 1.调用形式一般为:printf("格式化控制字符串",输出表列): 2.格式化控制字符串用于指定输出格式,它有三种形式: 1.格式说明符:规定了 ...
- C++中的字符串输入输出函数详解
常见的输入问题: 1.直接用cin输入(当然可以使用cout直接输出): 1)string s; cin >> s; //只接收回车键和空格前面所输入的字符!!!!! 一旦输入空格,cin ...
- fgets和fputs函数
1 函数输入 下面两个函数提供每次输入一行的功能. #include <stdio.h> char *fgets( char *restrict buf, int n, FILE *res ...
随机推荐
- Qt之QFontDialog
widget.h: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> class Widget : public QWidget { ...
- golang中的标准库数据格式
数据格式介绍 是系统中数据交互不可缺少的内容 这里主要介绍JSON.XML.MSGPack JSON json是完全独立于语言的文本格式,是k-v的形式 name:zs 应用场景:前后端交互,系统间数 ...
- ansible lineinfile 关闭selinux
- iptables规则管理
查看规则 iptables -t filter -L INPUT -n -v --line 省略-t选项时,表示默认操作filter表中的规则 添加规则 注意点:添加规则时,规则的顺序非常重要 - ...
- kindle序列号对应版本
序列号前缀 型号全称 型号简称 支持越狱 B001, Kindle 1 K1 - B101 B002 Kindle 2 U.S. (Sprint) K2 - B003 Kindle 2 Interna ...
- Vue+webpack配置实现多页面应用开发
为什么要配置多页面开发? · 由于单页面应用不利于SEO,对于某些资讯类网站不够友好,而多页面则能够更优的解决此问题. · 传统的多页面开发模式(如java的jsp等) 前后端耦合性大,开发效率低,代 ...
- Vue.js项目的兼容性与部署配置
一.处理兼容性问题的相关插件: 1> 解决移动端某些版本的浏览器,点击事件有3s延时触发的问题 · 安装 fastclick 依赖包:npm install fastclick --save-d ...
- php include,require,include_once,require_once 的区别
include(),require(),include_once(),require_once()作用都是包含并运行指定文件,但是使用场景又有很大区别. 1.include()和require()的区 ...
- Android下数据库操作——增删改查
Android下数据库第一种方式增删改查 1.创建一个帮助类的对象,调用getReadableDatabase方法,返回一个SqliteDatebase对象 2.使用SqliteDat ...
- byte溢出栗子
原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11634402.html byte溢出测试: byte b1 = (byte) 127; byt ...