关于数据流输入操作的三个问题请教
关于输入数据流操作的三个问题请教
//问题1
#include <iostream.h>
void main()
{
char name[20];
char id[8];
cin >> name >> id;
cout << "Name=" << name << ", Id=" << id << endl;
}
//运行时我输入:zhang 111111,回车后结果显示为:
//Name=zhang, Id=111111
//于是我就疑惑了,我在姓名和ID之间用的是空格,cin怎么也能认识啊?难道空格不能作为一个普通的字符串来看吗?
//------------------------------------------------------------------------------------------------------------------------
//问题2
istream &operator >> (istream &is, Matrix &m)
{
for(int i=0; i<m.rows; i++)
for(int j=0; j<m.cols; j++)
is >> m(i, j); //()符号是定义了重载的
return is;
}
//这是为定义的Matrix(矩阵)类写的一个重载抽取运算符函数,代码主要功能就是将数据流的内容逐一的写道m的各元素中,is>>m(i,j);已经完成了任务,所以这里的 return is似乎有些不必要,可否将函数头改为
void operator >>(istream &is, Matrix &m) 然后不返回任何的值?
//------------------------------------------------------------------------------------------------------------------------
问题3:谁能告诉我cin.get(char *, int, int) 后两个参数的意思?