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 ...
随机推荐
- Cesium和Kaarta用高分辨率激光雷达可视化室内和地下环境
Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ Cesium使急救人员和军事操作人员更容易快速评估和了解密集和不 ...
- sort排序出现安卓与苹果系统排序不一致问题
sort排序出现安卓与苹果系统排序不一致问题
- SSM项目使用拦截器实现登录验证功能
SSM项目使用拦截器实现登录验证功能 登录接口实现 public User queryUser(String UserName, String Password,HttpServletRequest ...
- condition_variable中的和wait_once和notify_one及notify_all实例代码
// ConsoleApplication6.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include<thread> #in ...
- Kubernetes 证书默认1年过期时间修改
使用过的kubeadm搭建K8s集群的朋友知道,默认自动生成的证书有效期只有 1 年,因此需要每年手动更新一次证书,这种形式显然对实际生产环境来说很不友好:因此下面教给大家修改这个过期时间的终极方法. ...
- python 小兵面向对象
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...
- Java中的wait方法 简单介绍。
一 wait方法怎么用? package com.aaa.threaddemo; /* * 多线程中的wait方法? public final void wait() throws Interrupt ...
- ApacheCN 大数据译文集 20211206 更新
PySpark 大数据分析实用指南 零.前言 一.安装 Pyspark 并设置您的开发环境 二.使用 RDD 将您的大数据带入 Spark 环境 三.Spark 笔记本的大数据清理和整理 四.将数据汇 ...
- 微信小程序--给数组的每个对象添加动画(数据驱动)
思路:用数据驱动事件,用数组的方式去对循环数组的每个对象进行操作 js代码: data:{ selectCategory: [{ name: '生产模式', content: [{ txt: '原厂' ...
- AT2164 [AGC006C] Rabbit Exercise
首先我们可以考虑一下 \(x\) 关于 \(y\) 的对称点的坐标,不难发现就是 \(x + 2 \times (y - x)\),那么期望的增量就会增加 \(2 \times (y - x)\).不 ...