首页 理论教育C++程序设计基础教程用流提取运算符实现

C++程序设计基础教程用流提取运算符实现

【摘要】:输入流是用流提取运算符实现的。流读取运算符通常会跳过输入流中的空格、tab键、换行符等等的空白字符。该函数读取num-1个字符后结束,或者遇到分隔符separator时结束。成员函数peek返回输入流中的下一个字符,但并不将其从输入流中删除。

输入流是用流提取运算符(“>>”)实现的。流读取运算符通常会跳过输入流中的空格、tab键、换行符等等的空白字符

1.流提取运算符

流提取运算符(“>>”)可实现流的输入,包括输入各种内部类型的数据项和字符串等。

注意:流提取运算符可以连续使用,如cin>>x>>y表示输入x和y的值。

2.成员函数get和getline

cin的成员函数get用于读取单个字符,其语法格式如下:

cin.get()

例如,以下程序从键盘读取一串字符,直到读到EOF为止(在PC机上,EOF为Ctrl+Z组合键),然后输出这些字符:

cin的成员函数getline用于读取一行字符,其语法格式如下:(www.chuimin.cn)

cin.getline(char*ps,int num,char separator)

其中,ps为存放读取的字符串的首地址,num为读取的字符个数,separator为分隔符。该函数读取num-1个字符后结束,或者遇到分隔符separator时结束。例如,有以下程序:

程序的一次执行结果如下:

从结果可以看到,输入12个字符,只输出了3个字符,说明s中只存放了“C++”。

3.istream类中的其他成员函数(peek、putback和ignore)

成员函数ignore用于在需要时跳过流中指定数量的字符(默认个数是1),或在遇到指定的分隔符(默认是EOF,使得ignore在读文件的时候跳过文件末尾)时结束。

成员函数putback将最后一次用get从输入流中提取的字符放回到输入流中。

成员函数peek返回输入流中的下一个字符,但并不将其从输入流中删除。