自学c++基础-输入输出

1.2.1标准的输入输出对象

  库里定义了4个输入输出对象,他们是:

1.cin(发音”see-in“)

2.cout(发音“see-out”)

3.cerr(发音“see-err”)

4.clog(发音“see-log”)

 

例子:

      #include <iostream>

      int main()

{

   std::out<<"Enter two numbers:"<<std::endl;

   int v1, v2;

   std::cin >> v1 >> v2;

   std::cout << "The sum of " << v1 << "and" << v2 << " is " << v1 + v2 << std::endl;

  return 0; 

}

 

输出运算符 << 

   std::out<<"Enter two numbers:"<<std::endl;

使用了两次输出运算符,每一个输出运算符都需要两个操作对象,操作符左边必须是一个输出流对象,右边的操作对象是待显示的值,输出运算符返回的也是输出流对象。

也可以这样写:

   std::out<<"Enter two numbers:";

   std::out <<std::endl;

 

同样输入运算符 >>

 std::cin >> v1 >> v2;

他左边是输入流对象,右边的对象是保存输入的值,输入运算符返回的也是输入流对象。

也可以这样写:

std::cin >> v1;

std::cin >> v2;

1.2.2进一步理解:cin,cerr,clog, cout

      程序的输入都建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin函数直接从输入缓冲区中取数据。正因为cin函数是直接从缓冲区取数据的,所以有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键盘输入。

cerr,clog,cout三者的区别:

cerr(无缓冲标准错误)-----没有缓冲,发送给它的内容立即被输出。
clog(有缓冲标准错误)-----有缓冲,缓冲区满时输出。
cout--------------------标准输出

cerr,clog,cout三者的联系:
三个都是ostream类定义的输出流对象,
cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,但是当向cout流插入一个endl,不论缓冲区是否漫了,都立即输出流中所有数据,然后插入一个换行符.
cerr流对象是标准错误流,指定为和显示器关联,和cout作用差不多,有点不同就是cout通常是传到显示器输出,但可以被重定向输出到文件,而cerr流中的信息只能在显示器输出.
clog流也是标准错误流,作用和cerr一样,区别在于cerr不经过缓冲区,直接向显示器输出信息,而clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出.
 
 
posted @ 2014-03-13 22:38  RogerGold  阅读(205)  评论(0编辑  收藏  举报