C++语言并没有定义任何输入输出(IO)语句,取而代之,包含了一个全面的标准库来提供IO机制。
标准输入输出对象:
标准库定义了4个IO对象。为了处理输入,我们使用一个名为cin的istream类型的对象。这个对象也被称为标准输入。对于输出,我们使用一个I名为cout的ostream类型的对象,此对象也被称为标准输出。标准库还定义了其他两个ostream对象,名为cerr和clog。我们通常用cerr来输出警告信息和错误消息,因此被称为标准错误。而clog用来输出程序运行时的一般信息。
向流写入数据,输出运算符 << 在标准输出上打印消息:std::cout<<"Enter two numbers : "<<std::endl;
<<运算符接受两个运算对象:左侧的运算对象必须是一个ostream对象,右侧的运算对象是要打印的值。此运算符将给定的值写到给定的ostream对象中。输出运算符的计算结果就是其左侧运算对象。
cout<<endl ,运算符打印endl,这是一个被称为操纵符的特殊值。写入endl的效果就是结束当前行,并将与设备关联的缓冲区中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写到输出流中,而不是仅停留在内存中等待写入流。
使用标准库中的名字
std::指出名字cout和endl是定义在名为std的命名空间中的。命名空间可以帮助我们避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间std中。
从流读取数据 cin.输入运算符 >> 与输出运算符类似,它接受一个istream作为其左侧运算对象,接受一个对象作为其右侧运算对象。它从给定的istream读入数据,并存入给定对象中。当使用一个istream对象作为条件时 例如while(cin>>v),其效果是检测流的状态。如果流是有效的,即流未遇到错误,那么检测成功。当遇到文件结束符,或遇到一个无效输入时,istream对象的状态会变为无效。处于无效状态的istream对象会使条件变为假。
从键盘输入文件结束符:
当从键盘向程序输入数据时,对于如何指出文件结束,不同操作系统有不同的约定。在Windows系统中,输入文件结束符的方法是敲ctrl+Z,然后按Enter或Return键。在UNIX系统中,包括Mac OS X 系统中,文件结束符是用ctrl+D.