53.cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
1.cin
用法1:最基本,也是最常用的用法,输入一个数字:
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main()
{
int a, b;
cout << "输入两个数字a和b,用空格或回车隔开" << endl;
cin >> a >> b;
cout << a + b << endl;
system("pause");
return EXIT_SUCCESS;
}
输入:
2
3
输出:
5
注意:>> 是会过滤掉不可见字符(如 空格 回车,TAB 等)
cin >> noskipws >>input[j];//不想略过空白字符,那就使用 noskipws 流控制
用法2:接受一个字符串,遇“空格”、“TAB”、“回车”都结束
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main()
{
char a[20];
cout << "请输入一段字符串保存到数组a中:" << endl;
cin >> a;
cout << a << endl;
system("pause");
return EXIT_SUCCESS;
}
输入:
请输入一段字符串保存到数组a中:
ajhjhjsdahj
输出:
ajhjhjsdahj
请按任意键继续. . .
2.cin.get()
用法1: cin.get(字符变量名)可以用来接收字符
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main()
{
char ch;
cout << "输入一个字符用ch保存" << endl;
ch = cin.get();//或者cin.get(ch);
cout << ch << endl;
system("pause");
return EXIT_SUCCESS;
}
输入:
输入一个字符用ch保存
44444
输出:
4
请按任意键继续. . .
用法2:cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main()
{
char a[20];
cout << "请输入一段字符串(长度小于20)用数组a保存:" << endl;
cin.get(a, 20);
cout << a << endl;
system("pause");
return EXIT_SUCCESS;
}
输入:
请输入一段字符串(长度小于20)用数组a保存:
ajajdjjjsjsjdjsjidvlsjdfvuaesduio
输出:
ajajdjjjsjsjdjsjidv
请按任意键继续. . .
3.getline()
getline()函数是来完成读入一行数据。
在C++中本质上有两种getline函数:
第一种:在头文件<istream>中,是iostream类的成员函数。
第二种:在头文件<string>中,是普通函数。
(1)在头文件<istream>中,是iostream类的成员函数。
在<istream>中的getline()函数有两种重载形式:
istream& getline (char* s, streamsize n );//作用是: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组中。
istream& getline (char* s, streamsize n, char delim );//还没读够n个字符如果遇到delim 或 字数达到限制,则读取终止,delim都不会被保存进s对应的数组中。
接受一个字符串,可以接收空格并输出
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
int main()
{
char m[20];
cout << "请输入一个字符串,可以接收空格并输出" << endl;
cin.getline(m, 5);
cout << m << endl;
system("pause");
return EXIT_SUCCESS;
}
输入:
请输入一个字符串,可以接收空格并输出
12 22 22 33
输出:
12 2
请按任意键继续. . .
注意:接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出;
cin.getline()实际上有三个参数,cin.getline(接受字符串的m,接受个数5,结束字符)
当第三个参数省略时,系统默认为'\0'
如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入1212时输出1212,输入12a2al时,输出12
(2)在头文件<string>中,是普通函数。
在<string>中的getline函数有四种重载形式:
istream& getline (istream& is, string& str, char delim);
istream& getline (istream&& is, string& str, char delim);
istream& getline (istream& is, string& str);
istream& getline (istream&& is, string& str);
用法和上第一种类似,但是读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。
函数的变量:
is :表示一个输入流,例如 cin。
str :string类型的引用,用来存储输入流中的流信息。
delim :char类型的变量,所设置的截断字符;在不自定义设置的情况下,遇到’\n’,则终止输入。
例程代码:
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS 1
//2023年2月8日22:22:27
//8.7strquote.cpp--不同的设计
#include <iostream>
#include <string>
int main()
{
std::string name;
std::cout << "Please input your name: ";
std::getline(std::cin, name);
std::cout << "Welcome to here!" << std::ends << name << std::endl;
std::cout << std::endl;
system("pause");
return EXIT_SUCCESS;
}
在输入时,直至遇到‘\n’或EOF, 才终止输入操作。
输入:
Please input your name: wonderful
输出:
Welcome to here!wonderful
5、gets()
6、getchar()
参考资料
[1]C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法 - flatfoosie - 博客园 (cnblogs.com)
[2]C++:cin、cin.getline()、getline()的用法 - AndyJee - 博客园 (cnblogs.com)
[3]C++ getline函数用法 - 萧飞IDO - 博客园 (cnblogs.com)
参考资料来源于黑马程序员等
53.cin、cin.get()、cin.getline()、getline()、gets()等函数的用法的更多相关文章
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法----细节决定成败 (sort用法)
C++中cin.cin.get().cin.getline().getline().gets()等函数的用法 学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有 ...
- C++中关于cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
1.cin>> 用法1:最基本,也是最常用的用法,输入一个数字: 注意:>> 是会过滤掉不可见的字符(如 空格 回车,TAB 等) cin>>noskipws> ...
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get ...
- cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)转载请保留作者信息:1.cin1 ...
- (转)cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行)转载请保留作者信息:1.cin1 ...
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法(转)
学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get ...
- STL中流相关的输入输出符和get函数彻底总结:cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
我的总结: [首先:对于流来说,就把流看成一个中转的仓库,对流进行<<运算或>>运算或者get函数的运算都是指,把“流”中的数据“运送”到“内存变量”中去,还是把内存变量中的数 ...
- [原创]cin、cin.get()、cin.getline()、getline()、gets()、getchar()的区别
这几个输入函数经常搞不清具体特点和用法,这里稍作总结 一.cin>> 1.最基本用法,输入一个变量值 2.输入字符串,遇“空格”.“TAB”.“回车”结束,比如输入“hello world ...
- [转载]cin、cin.get()、cin.getline()、getline()、gets()函数的用法
1.cin>> 用法1:最基本,也是最常用的用法,输入一个数字: #include <iostream>using namespace std;main ( ...
- cin详解(cin.get()、cin.getline()、cin.clear()、cin.sync())
在C中,输入输出用scanf和printf,在输入数据的同时还需说明数据的类型,如果输入数据较多,那就很麻烦,而C++中也有相似的东西cin和cout,它们来自C++的一个名叫" iostr ...
随机推荐
- React Native面试知识点
1.React Native相对于原生的ios和Android有哪些优势? 1.性能媲美原生APP 2.使用JavaScript编码,只要学习这一种语言 3.绝大部分代码安卓和IOS都能共用 4.组件 ...
- uiautomator2 常用方法
常用功能方法的整理和总结 导入 import uiautomator2 as u2 连接ADB设备: 可以通过USB或Wifi与ADB设备进行连接,进而调用Uiautomator2框架,支持同时连接单 ...
- PostgreSQL 存储过程 通过设定条件,返回指定的数据表记录
PL/pgSQL是 PostgreSQL 数据库系统的一个可装载的过程语言. PL/pgSQL的设计目标是创建一种可装载的过程语言,可以可用于创建函数和触发器过程, 在SQL语言中添加控制结构功能, ...
- 项目实训 DAY 13
GraphCore学习成本太高/现有资料太少,决定放弃 PlotNN用python语言生成pdf(需求:png),且不能通过仅运行python程序实现,python内生成的是tex格式,还需要加一行命 ...
- vue-cli4初探、问题解决和心得
创建.调试.打包 vue create event-vue npm run serve //这个好,官方推荐`vue serve`没用 npm run build 项目结构 package.json ...
- 未知:长度为 K 的重复字符子串
给你一个由小写字母组成的长度为n的字符串 S ,找出所有长度为 k 且包含重复字符的子串,请你返回全部满足要求的子串的数目. 数据范围: , 进阶: 时间复杂度,空间复杂度 输入例子1: &qu ...
- 面向对象1(Java)
什么是面向对象 面向对象编程(oop) 面向对象编程的本质是:以类的方式组织代码,以对象的组织(封装)数据 抽象 三大特征:封装.继承.多态 从认识论角度考虑是先有对象后有类.对象是具体的事物.类是抽 ...
- JS笔记(四):面向对象、异常处理
镇楼图 Pixiv:torino 六.JS中的面向对象 类(class) 博主视为你已拥有相关基础,这里不再赘述相关概念 类的语法如下,class在本质上是function,可以说class只是针对构 ...
- Python3网络爬虫--爬取有声小说(附源码)
目录 一.目标 1.首页 2.网页源代码 二.爬取详情页 1.查看详情页 2.小说详情 3.小说简介 4.播放列表 三.爬取小说音频 1.确定数据加载方式 2.寻找真实音频播放地址 3.URL解码 4 ...
- 纯css实现卡券式半圆及阴影(整理)
<!-- html部分 --> <div class="a"> <!-- a这个大卡片里边分上下两个卡片,对应上边灰色和下边白色部分 --> & ...