标题:流流流
关键词:标准输入流
内容
A. 一句话概括今日目标完成情况
(a)标准输入流的学习
(b)
B.具体内容
活了二十年,今天终于知道了标准输入设备就是键盘啊……
>>这个符号,其实就是一个符号重载,开发者定义过的东西。我之前就在想嘛,凭什么两个大于号小于号凑到一块就可以表示输入输出了……
这个符号是以空格和回车做分隔符的。无法获得空格。cin实际上是istream类的对象
下面是记录了函数和功能
read 无格式输入制定字节数
get 从流中提取字符,包括空格
getline 从流中提取一行字符
ignore 提取并丢弃流中指定的字符
peek 返回流中下一个字符,但不从流中删除
gcount 统计最后输入的字符个数
seekg 移动输入流指针
tellg 返回输入流中指定位置的指针值
get 函数有三种形式
#include<iostream>
using namespace std;
int main()
{
char c;
cout<<"enter a sentence:"<<endl;
while(1){
c=cin.get();
if(c=='\n') break;
else cout<<c;
}
return 0;
}
while(1)是死循环,从这是无参数的get函数读入数据,挨个读,如果不是回车就输出到显示器上,是回车的话就跳出这个循环
另外c=cin.get() cin.get(c)两个函数在这里是完全等价的,可以互相替换。
#include<iostream>
using namespace std;
int main()
{
char ch[80];
cout<<"enter a sentence:"<<endl;
cin.get(ch,70,'|');
cout<<ch<<endl;
cin.ignore(1);
cin.get(ch,70);
cout<<ch<<endl;
return 0;
}
而这个是用有多个参数的get函数来读入数据
老师这里讲的我感觉有一个问题啊,这里读到的应该是University后面的那一个空格,而不是y字母,否则ignore怎么可能忽略掉竖线?
C.明日计划
cin.getline()的使用