码迷,mamicode.com
首页 > 编程语言 > 详细

C++输入cin应用详解

时间:2015-08-12 01:27:09      阅读:2830      评论:0      收藏:0      [点我收藏+]

标签:c语言   c++   cin   输入   

输入原理:

程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入

一:cin>>

1)该操作符是根据后面变量的类型读取数据。

输入结束条件 :遇到Enter、Space、Tab键。

对结束符的处理 :丢弃缓冲区中使得输入结束的结束符(Enter、Space、Tab)

#include <iostream>
using namespace std;
int main(){
    char str1[10],str2[10];
    cin>>str1;
    cin>>str2;
    cout<<str1<<endl;
    cout<<str2<<endl;
    return 0;
}
技术分享

【分析】第一次读取字符串时遇到空格则停止了,将abcd读入str1,并舍弃了空格,将后面的字符串给了第二个字符串。这证明了cin读入数据遇到空格结束;并且丢弃空格符;缓冲区有残留数据,读入操作直接从缓冲区中取数据。

二:

#include <iostream>
using namespace std;
int main(){
    char str[8];
    cin.getline(str,6);
    cout<<str<<endl;
    cin.getline(str,6);
    cout<<str<<endl;
    return 0;
}
<img src="data:image/png;base64,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VoCFKwQgAAEIQAACEIBAPQQQpfVwJSsEIAABCEAAAhCAQAUCiNIKsHCFAAQgAAEIQAACEKiHAKK0Hq5khQAEIAABCEAAAhCoQABRWgEWrhCAAAQgAAEIQAAC9RBAlNbDlawQgAAEIAABCEAAAhUIIEorwMIVAhCAAAQgAAEIQKAeAojSeriSFQIQgAAEIAABCECgAgFEaQVYuEIAAhCAAAQgAIH/v737eZXrrOMA/D1zR5HE+CtpSlKCLiQhIWhAvClEXEixkHQhFYobIdvgpl1VscWArqV/QpaGUqy4CrixGFy56qJV3IiixghpTG40yZ1z5H3POZO5l7nXvsT3Ntz7THI6Z8688545T5jOZ973Pe8hUEdAKK3jqlYCBAgQIECAAIECAaG0AEtRAgQIECBAgACBOgJCaR1XtRIgQIAAAQIECBQICKUFWIoSIECAAAECBAjUERBK67iqlQABAgQIECBAoEBAKC3AUpQAAQIECBAgQKCOgFBax1WtBAgQIECAAAECBQJCaQGWogQIECBAgAABAnUEhNI6rmolQIAAAQIECBAoEBBKC7AUJUCAAAECBAgQqCMglNZxVSsBAgQIECBAgECBgFBagKUoAQIECBAgQIBAHQGhtI6rWgkQIECAAAECBAoEhNICLEUJECBAgAABAgTqCAildVzVSoAAAQIECBAgUCAglBZgKUqAAAECBAgQIFBHQCit46pWAgQIECBAgACBAgGhtABLUQIECBAgQIAAgToCQmkdV7USIECAAAECBAgUCAilBViKEiBAgAABAgQI1BEQSuu4qpUAAQIECBAgQKBAQCgtwFKUAAECBAgQIECgjoBQWsdVrQQIECBAgAABAgUCQmkBlqIECBAgQIAAAQJ1BITSOq5qJUCAAAECBAgQKBAQSguwFCVAgAABAgQIEKgjIJTWcVUrAQIECBAgQIBAgYBQWoClKAECBAgQIECAQB0BobSOq1oJECBAgAABAgQKBITSAixFCRAgQIAAAQIE6ggIpXVc1UqAAAECBAgQIFAgIJQWYClKgAABAgQIECBQR0AoreOqVgIECBAgQIAAgQIBobQAS1ECBAgQIECAAIE6AkJpHVe1EiBAgAABAgQIFAgIpQVYihIgQIAAAQIECNQREErruKqVAAECBAgQIECgQEAoLcBSlAABAgQIECBAoI6AUFrHVa0E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" alt="" />
【分析】之所以第一次输入完后直接程序就结束了,而不是进行第二次输入,是因为第一次多输入的数据还残留在缓存区中,第二次输入就直接从缓存区中提取而不会请求键盘输入,以下探讨几种常见的输入方式:

二.cin.get(数组名,长度,结束符)

其中结束符为可选参数,读入的字符个数最多为(长度-1)个,结束符规定结束字符串读取的字符,默认为ENTER

若要读取字符,直接cin.get(char ch)或ch=cin.get()即可

读取字符的情况:

输入结束条件:Enter键

对结束符处理:不丢弃缓冲区中的Enter

cin.get() 与 cin.get(char ch)用于读取字符,他们的使用是相似的,

即:ch=cin.get() 与 cin.get(ch)是等价的。

#include <iostream>
using namespace std;
int main(){
    char c1,c2;
    cin.get(c1);
    cin.get(c2);
    cout<<c1<<" "<<c2<<endl;//打印两个字符
    cout<<(int)c1<<" "<<(int)c2<<endl;//打印两个字符的ASC码
    return 0;
}

技术分享


【分析】会发现只执行了一次从键盘输入,显然第一个字符变量取的’a‘, 第二个变量取的是Enter(ASCII值为10),这是因为该函数不丢弃上次输入结束时的Enter字符,所以第一次输入结束时缓冲区中残留的是上次输入结束时的Enter字符!

测试二输入:

a b[Enter]

输出:

a

97 32

【分析】显然第一个字符变量取的’a‘, 第二个变量取的是Space(ASCII值为32)。原因同上,没有丢弃Space字符。

读取字符串的情况:

输入结束条件:默认Enter键(因此可接受空格,Tab键),可在第三个参数上自定义结束符

对结束符处理:丢弃缓冲区中的Enter

#4:

技术分享
#include <iostream>
using namespace std;
int main ()
{
  char ch, a[20];
  cin.get(a, 5 , ‘d‘);
  cin>>ch;
  cout<<a<<endl;
  cout<<(int)ch<<endl;
  return 0;
}
技术分享

 

测试一输入:

12345[Enter]

输出:

1234

53

【分析】第一次输入超长,字符串按长度取了"1234",而’5′仍残留在缓冲区中,所以第二次输入字符没有从键盘读入,而是直接取了’5′,所以打印的ASCII值是53(’5′的ASCII值)。

测试二输入:

12d45[Enter]

输出:

12

d

【分析】第二次输出为d,说明自定义结束符时不丢弃缓冲区中的结束符

三.cin.getline()

cin.getline(数组名,长度,结束符) 大体与 cin.get(数组名,长度,结束符)类似。

区别在于:

cin.get()当输入的字符串超长时,不会引起cin函数的错误,后面的cin操作会继续执行,只是直接从缓冲区中取数据。但是cin.getline()当输入超长时,会引起cin函数的错误,后面的cin操作将不再执行。

#5:

技术分享
#include <iostream>
using namespace std;
int main ()
{
  char ch, a[20];
  cin.getline(a, 5);
  cin>>ch;
  cout<<a<<endl;
  cout<<(int)ch<<endl;
  return 0;
}
技术分享

 

测试输入:

12345[Enter]

输出:

1234

-52

【分析】与cin.get()的例子比较会发现,这里的ch并没有读取缓冲区中的5,而是返回了-52,这里其实cin>>ch语句没有执行,是因为cin出错了!cin的错误处理下次介绍。


版权声明:本文为博主原创文章,未经博主允许不得转载。

C++输入cin应用详解

标签:c语言   c++   cin   输入   

原文地址:http://blog.csdn.net/u012235132/article/details/47429149

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!