@iwktd981220
2017-11-18T08:27:54.000000Z
字数 603
阅读 421
总结笔记
上了课,觉得并不熟悉这类的命令,因为基本都不用神奇的字符串,但是我觉得还是有必要记录一下的。
不说了,先上两份code:
void cinget_cingetline() {
char a[20];
char b[20];
cin.get(b,20,'.');
cout<<b<<endl;
cin.getline(a,20,'.');
cout<<a<<endl;
}
再看第二份,是不是很相似?!
void cinget_cingetline() {
char a[20];
char b[20];
cin.getline(a,20,'.');
cout<<a<<endl;
cin.get(b,20,'.');
cout<<b<<endl;
}
实际上就是先cin.getline 还是cin.get 的区别而已。
那么输出有什么区别呢?
当然有,先看一段ppt的描述:
cin.get将结束字符留在输入流中,而cin.getline将结束字符从输入流中删除
这样带来的后果是什么呢?让我们看看。
第一份:
第二份:
出现原因:cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入。
可供参考的一个链接:链接
一图蔽知:
用处不大,不再赘叙。