什么是C ++中的cin,cout和cerr流?

cin ,cout,cerrclog 是处理标准输入和标准输出的流。这些是iostream头文件中定义的流对象。

std::cin是istream类的对象,代表面向狭窄字符(char类型)的标准输入流。它对应于C流stdin。标准输入流是由环境确定的字符源。通常假定它是从外部源(例如键盘或文件)输入的。

std::cout是ostream类的对象,代表面向狭窄字符(char类型)的标准输出流。它对应于C流stdout。标准输出流是由环境确定的字符的默认目标。此目标可以与更多标准对象(例如cerr或clog)共享。

对象cerr控制输出到与在<cstdio>中声明的对象stderr关联的流缓冲区。用于将错误输出到标准输出流。

注–在此标头中声明的所有对象都有一个特殊的属性-您可以假定它们在定义的任何静态对象之前构造,并包含<iostream>在内。同样,您可以假定在定义的任何此类静态对象的析构函数之前,这些对象没有被销毁。(但是,在程序终止期间将清除输出流。)因此,可以在程序启动之前和程序终止之后安全地从标准流中读取或写入标准流。

您可以如下使用这些流对象-

示例

#include<iostream>
int main() {
   int my_int;
   std::cin >> my_int;
   std::cout << my_int;
   std::cerr << "An error message";
   return 0;
}

然后将此程序保存到hello.cpp文件。最后导航到终端/ cmd中此文件的保存位置,并使用-

$ g++ hello.cpp

使用-运行它

$ ./a.out

输出结果

如果您给它输入15,将得到输出-

15 An error message