C++中cin的使用总结
在学习C++时大家肯定迷惑过关于输入输出各种输出函数的功能,现在来总结一下各种函数的简单用法。
cin建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入,这就是为什么有时会出现输入语句失效的原因。
1.cin>>函数的用法:这是我们最经常用,学习C++最初接触的输入流。
用法1.接受一个字符串的输入,遇到“空格”"TAB""回车“结束。
#include <iostream>
using namespace std;
void main ()
{
char a[10];
cin>>a;
cout<<a<<endl;
}
输入:aaabbbccc
输出:aaabbbccc
输入:aaa bbb ccc
输出:aaa
2.输入一个数字。
#include <iostream>
using namespace std;
void main ()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
}
输入:1回车2回车
输出:3
2.cin.get()的用法,这函数有三种形式,cin.get(),cin.get(char ch),cin.get(array,length)。
用法1.cin.get()
用于读取一个字符,结束条件是回车,不过不会丢弃缓冲区的回车(enter)和空格,cin.get()和cin.get(char ch)功能基本一样的,char = cin.get()和cin.get(char ch)共能一样。
#include<iostream>
using namespace std;
int main()
{
char c,ch;
c = cin.get();
cin.get(ch);
cout<<c<<endl;
cout<<ch<<endl;
return 0;
}
输入:a回车(输入一个字符然后接着回车)
输出:a
(此处有一行)
输入:abcd回车
输出:a
b
用法2.cin.get(char ch)用法同用法1
用法3.cin.get(array,length) 接受一个字符串的输入,接受输入的length-1个字符,最后一个存入的是‘\0’。
#include<iostream>
using namespace std;
int main()
{
char ch[10];
cin.get(ch,5);
cout<<ch<<endl;
return 0;
}
输入:abcdefg回车
输出:abcd
3.cin.getline()的用法,接受一个字符串的输入包括空格,遇到回车停止。
用法1.cin.getline()
#include<iostream>
using namespace std;
int main()
{
char ch[10];
cin.getline(ch,5);
cout<<ch<<endl;
return 0;
}
输入:aaaaaaaa
输出:aaaa
4.getline()函数,接受一个字符串的输入包含空格,遇到回车停止要包含#incldue<string>。
用法1.getline(cin,sting s)
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
getline(cin,s);
cout<<s<<endl;
return 0;
}
输入:abcdefg回车
输出:abcdefg
5.gets()函数,接受一个字符串的输入包含空格,遇到回车停止,要包含#incldue<string>。
用法1:接收一个字符串的输入。
#include<iostream>
#include<string>
using namespace std;
int main()
{
char ch[10];
gets(ch);
cout<<ch<<endl;
return 0;
}
输入:abcdefg回车
输出:abcdefg
6.getchar()接受一个字符输入,包含空格,遇到回车停止,要包含#incldue<string>。
用法1:接受一个字符的输入
#include<iostream>
#include<string>
using namespace std;
int main()
{
char ch;
ch = getchar();
cout<<ch<<endl;
return 0;
}
输入:abc回车
输出:a
C++中cin的使用总结的更多相关文章
- 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()等函数的用法
学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get ...
- [转]C++中cin、cin.get()、cin.getline()、getline()函数的简单总结
参考原文:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html,另外做了一些修改~ 1.cin 2.cin.get() 3 ...
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法(转)
学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结,为了自己复习,也希望对后来者能有所帮助,如果有差错的地方还请各位多多指教(本文所有程序均通过VC 6.0运行) 1.cin 2.cin.get ...
- 【转载】关于C++中cin的几点说明性总结
转载地址:http://www.07net01.com/program/289153.html 学C++的时候,这几个输入函数弄的有点迷糊:这里做个小结: 1.cin 2.cin.get() 3.ci ...
- C++中cin.get(),cin.getline(),cin>>,gets(),cin.clear()使用总结
1.cin.get() 实质:类istream所定义对象cin的重载成员函数 用于读取单字符 istream& get(char&) int get(void) 用于读取字符 ...
- c++中 cin、cin.get()、cin.getline()、cin.getchar()的区别
①cin>>:无法接收空格.Tap键且以空格.Tap键.回车符为分隔符: ②cin.get( ):可以接收空格.Tap键且以回车符为结束符: 一:可输入单个字符 格式: char ch; ...
- C++中cin.getline与cin.get要注意的地方
cin.getline与cin.get的区别是,cin.getline不会将结束符或者换行符残留在输入缓冲区中.
- C++中cin的用法汇总
cin可以用于接收输入,最常见的是从控制台接收.在刚学习C++的时候经常会用cin来接收数据,这里想要系统的总结一下cin的用法,保证不灌水. C++中的cin是一个 istream对象,从标准输入中 ...
- C++中cin输入问题
场景:cin输入一个整数,但是在console输入了其他如字符,字符串.当判断输入错误再重新输入时[ 如while()内重复判断知道输入格式正确 ],可能进入死循环. 解释:console输入时所按的 ...
随机推荐
- [转]毕设- 深入HBase架构解析(一)
深入HBase架构解析(一) 前记 公司内部使用的是MapR版本的Hadoop生态系统,因而从MapR的官网看到了这篇文文章:An In-Depth Look at the HBase Archi ...
- 【Head First Servlets and JSP】笔记22:直接从请求到JSP & 获取Person的嵌套属性
直接从请求到JSP,不经过servlet <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- Sybase:SybaseIQ的几个系统过程
Sybase:SybaseIQ的几个系统过程 sp_iqlocks 显示与数据库中 IQ 存储区和目录存储区中的锁有关的信息. 删除锁:drop connection XXX sp_iqwho 显示所 ...
- jQuery幻灯片播放器插件
在线演示 本地下载
- jQuery可自动播放动画的焦点图
在线演示 本地下载
- IntelliJ Idea 常用功能及其快捷键总结(长期更新,纯手动)
基础功能总结 快捷键总结 全局搜索 CTRL SHIF F 局部搜索 CTRL F 替换 CTRL R 复制一行 CTRL D 剪切一行 CTRL X 行定位 CTRL G 文件重命名 SHIFT F ...
- CentOS限制SSH登录地址
编辑hosts.allow文件,将允许连接的地址写进去 [root@Elements ~]# vim /etc/hosts.allow sshd:10.10.10.1:allow sshd:172.1 ...
- spring security结合数据库验证用户-XML配置方式
之前的用户信息我们都是使用的内存用户,测试例子可以,实际中使用肯定不行,需要结合数据库进行验证用户.这就是本节的重点: 项目目录如下: 在之前的项目中的依赖中添加两个依赖: <dependen ...
- NSwag在asp.net web api中的使用,基于Global.asax
https://github.com/NSwag/NSwag/wiki/OwinGlobalAsax This page explains how to use the NSwag OWIN midd ...
- EF Code-First 学习之旅 配置一对一的关系
1对1.1对0 的关系 例如:Entity1与零个或一个Entity2的实例有关系 public class Student { public Student() { } public int Stu ...