(学习笔记)c++中cin相关输入
来源:互联网 发布:阿里云免备案域名 编辑:程序博客网 时间:2024/06/06 12:21
=========================================================
一、cin
----------------------------------------------------------------------------------------------------
1)cin读取数据时,遇到不可见字符(enter,space,tab)则结束读入。
2)读入结束后丢弃缓冲区中的结束符(enter,space,tab)。
==========================================================================
二、cin.get()
1.默认enter为结束符,遇到结束符或读取指定数目字符时停止读取
2.保留enter、自定义结束符 在缓冲区内
--------------------------------------------------------------------------------------------------------------------------------------
1.cin.get(char c)——读取单个字符
1)遇enter结束(接受space,tab)。
2)不读取,保留缓冲区内的enter。
#include <iostream>using namespace std;int main(){char a,b;cin.get(a);cin.get(b);cout<<a<<" "<<b<<endl; return 0;}case :
输入:4 空格 5 回车
输出:4
2.cin.get(字符数组名,长度)——读取一行字符串
1)遇enter结束(接受space,tab)。
2)不读取,保留缓冲区内的enter。
#include <iostream>using namespace std;int main(){char a[10];cin.get(a,4);cout<<a<<endl; return 0;}case :
输入:1 空格 2 3 4
输出:1 空格 2
3.cin.get(字符数组名,长度,自定义结束符)——读取一行字符串,遇自定义结束符结束
1)遇到自定义结束符之前接受enter,遇到结束符之后输入回车结束。(接受space,tab)
2)不读取,保留缓冲区内的结束符。
#include <iostream>using namespace std;int main(){char a[10];cin.get(a,7,'0');cout<<a<<endl; return 0;}
case :
输入:1 空格 2
3 0 回车
输出:1 空格 2
3
#include <iostream>using namespace std;int main(){char a[10];char b[10]; cin.get(a,4,'0');cin.get(b,3);cout<<a<<" "<<b<<endl; return 0;}
case 1:
输入:1 2 0 1
输出:1 2 空格 0 1
【a读取到0之前结束,0留在缓冲区内,被b读取】
case 2:
输入:1 2
3 0 1 回车
输出:1 2
空格 3 0
【a输入超长,3 0 1 enter 保留在缓冲区内,b读取前两个元素即3 0】
4.cin.get()——读取下一个字符(包括enter)
1.遇到enter结束,接受space,tab;与cin.get(char c)相似。
2.保留enter在缓冲区内。
#include <iostream>using namespace std;int main(){char a[10],b[10]; cin.get(a,5);cin.get();cin.get(b,5);cout<<a<<" "<<b<<endl; return 0;}case:
输入:1 2 3
4 5 6
输出:1 2 3 空格 4 5 6
【↑用法示例】【调用cin.get()处理换行符】
=============================================================================
三、cin.getline()
------------------------------------------------------------------------------------------------------------------------------------------cin.getline(字符数组名,长度,(自定义结束符-可省))——读取一行字符
与cin.get()用法相似,区别为:1.cin.getline()丢弃结束符,而cin.get()保留了结束符。
2.输入超长时,后续操作时,cin.get()直接从缓冲区读取数据,即继续执行后续操作;而cin.getline()输入超长时,将引起错
误,后续操作不能继续进行。
- (学习笔记)c++中cin相关输入
- C/C++学习笔记2 - cin深入分析(上) - cin输入操作处理(原创)
- C++Primer学习笔记(一):cin与cin.get()
- C/C++学习笔记2 - cin深入分析(上) - cin输入操作处理
- C++ 中字符输入(cin,getline,cin.get)
- c++cin输入
- [c++]C++学习笔记001.cout/cin
- 学习C++——文本的输入cin
- C/C++学习笔记1 - 深入了解scanf()/getchar(cin、cin.get()、cin.getline()、getline()、gets()、getchar()的区别 (OJ时候会用到)
- 【C++】输入流cin方法
- 学习笔记(二)cout和cin
- C++ cin学习笔记
- C/C++学习笔记3 - cin深入分析(下) - cin的错误处理(原创)
- C++中关于输入流缓冲区问题(cin.clear()和cin.sync())
- C++中cin>> cin.get(char[], int) cin.getline(char[], int) cin.get(char)输入区别
- C语言笔记--cin.fail()
- C++ 输入(cin等)
- [C++] cin空白换行输入处理
- react-native打印__nw_connection_get_connected_socket_block_invoke Connection has no connected handler
- Leetcode 300. Longest Increasing Subsequence
- Oracle创建测试REDO视图
- 如何有效防止SQL注入
- javaweb初学者常见问题解决
- (学习笔记)c++中cin相关输入
- Freemarker 入门示例
- svn使用
- 二维数组的传递方式
- HDU 1253
- 【LeetCode】2. Add Two Numbers 解题报告
- Tomcat如何进入控制台
- Yii2使用原生态input上传文件
- 在Linux中查找某个文件的位置