亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C++ 基本输入/输出:Cout、Cin、Cerr 示例

什么是 C++ 中的流?

C++ 为用户提供了许多可用于执行输入/输出任务的库。这些任务以字节序列的形式完成,通常称为流。

流分为两种:

流的类型

在本 C++ 教程中,您将学习:

流是如何工作的?

C++ 流的工作原理如下:

  1. 首先,使用正确的类型初始化流。
  2. 接下来,您应该使用 get/put 指针说明 I/O 将发生的位置。
  3. 在流中到达正确位置后,您可以分别使用>> 和 <<运算符执行输入和输出任务。

功能表

以下是stream.h头文件中提供的函数:

类 功能 FilebufIt 将文件缓冲区设置为读/写。它里面有close()和open()函数fstreambase是ifstream、fstream和ofstream类的基类。它的操作对文件流来说是通用的。ifstream是一个输入文件流类,用于提供输入操作。ofstream是一个输出文件流类,用于提供输出操作。fstream是一个输入/输出流类。它支持同时输入/输出操作。

用于输入/输出的 C++ 头文件

C++ 提供了三个库,它们带有用于执行基本输入/输出任务的函数。它们包括:

cin 和 cout 关键字在 C++ 中非常流行。它们分别用于获取输入和打印输出。要使用它们,您必须在程序中包含 iostream 头文件。原因是它们是在该头文件中定义的。未能包含 iostream 头文件将产生错误。这是由于 C++ 编译器未能理解关键字的含义造成的。

iostream 头文件中定义的主要对象是cin、cout、cerr 和clog。让我们讨论一下。

std::cout

cout 对象是 iostream 类的一个实例。它用于在标准输出设备(通常是屏幕)上产生输出。它与流插入运算符 (<<) 一起使用。

示例:

#include <iostream>
using namespace std;
int main() {

	char welcome[] = "Welcome to Guru99";

	cout << welcome << endl;

	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 包括定义 cout 对象的 iostream 头文件。
  2. 包含 std 命名空间,这样我们在使用它的类时就不必调用它。
  3. 调用 main() 函数。程序代码应添加到其主体中。开头的花括号 { 标志着它的主体的开始。
  4. 创建一个名为welcome 的字符变量来保存字符串Welcome to Guru99。
  5. 在控制台上打印字符串welcome 的值。 endl 是一个 C++ 关键字,意思是结束行。它移动光标以开始在下一行打印文本。
  6. 程序必须在成功执行后返回值。
  7. main() 函数体结束。

std::cin

cin 对象是 istream 类的一个实例。它从输入设备(键盘)读取输入。它通常与提取运算符 (>>) 一起使用。提取对象负责从cin对象中提取通过键盘输入的数据。

示例:

下面的例子演示了如何在 C++ 中使用 cin 关键字:

#include <iostream>
using namespace std;
int main()
{
	int number;

	cout << "Enter a number:";
	cin >> number;
	cout << "\nYou entered: " << number;

	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 将 iostream 头文件包含到我们的程序中。 cin 对象在此头文件中定义。
  2. 包含 std 命名空间以使用其类。使用它的类时,您不必调用 std。
  3. 调用 main() 函数。程序代码应添加到其主体中。
  4. 程序主体的开始。
  5. 声明一个名为 number 的整型变量。
  6. 在屏幕上打印一条消息,提示用户输入数字。
  7. 从键盘读取用户在控制台上输入的值。
  8. 将上面读取的值与其他文本一起打印在控制台上。
  9. 如果程序执行成功,它应该返回一个值。
  10. main函数体的结束。

std::cerr

cerr 对象形成用于在 C++ 中输出错误的标准错误流。 Cerr 是 ostream 类的一个实例。 cerr 对象是无缓冲的。这意味着当要立即显示错误消息时使用它。

由于它是无缓冲的,因此它不会存储错误消息以供以后显示。它与流插入运算符 (<<) 一起使用。

示例:

#include <iostream>
using namespace std;
int main() {

	cerr << "An Error occurred!";

	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 包含已定义 cerr 对象的 iostream 头文件。
  2. 包含 std 命名空间,这样我们在使用它的类时就不必调用它。
  3. 调用 main() 函数。程序逻辑应添加到其主体中。左花括号标志着函数体的开始。
  4. 使用 cerr 对象在控制台上打印错误。
  5. 程序必须在成功执行后返回一个值。
  6. main函数体的结束。

std::阻塞

clog 对象是 ostream 类的一个实例。它用于在标准显示器、监视器上显示错误。它类似于 cerr 对象,但它是缓冲的。由于它是缓冲的,它将错误消息存储在缓冲区中,直到缓冲区被填充/刷新。它与流插入运算符 (<<) 一起使用。

示例:

#include <iostream>
using namespace std;
int main() {
	clog << "An Error occurred!";
	return 0;
}

输出:

下面是代码截图:

代码说明:

  1. 包括定义阻塞对象的iostream头文件。
  2. 包括 std 命名空间,这样我们就可以在不调用它的情况下使用它的类。
  3. 调用 main() 函数。程序逻辑应添加到其主体中。 { 标记函数体的开始。
  4. 使用 clog 对象在标准输出(监视器)上打印错误。
  5. 程序必须在成功完成后返回一个值。
  6. main() 函数体的结尾。

IO 流的错误处理:

要检查流是否有效,您可以将其用作布尔值。

这是一个例子:

ifstream file( "myfile.txt" );
if ( ! file )
{
        cout << "File NOT opened!" << endl;
}

要获取流状态的更多详细信息,您可以使用以下函数:

要了解特定的读/写操作是否失败,请测试读取结果。

例如,要检查用户是否输入了有效的整数,请执行以下操作:

int p;
if ( cin >> p ) 
{
        cout << "Enter valid number" << endl;
}

总结


C语言

  1. C# 基本输入和输出
  2. C++ 基本输入/输出
  3. C 输入输出 (I/O)
  4. Java 基本输入和输出
  5. 带有示例的 C++ Switch Case 语句
  6. C++ 异常处理:Try、Catch、throw 示例
  7. C++ 动态分配数组的例子
  8. C++ 结构与示例
  9. D 锁存器
  10. C - 输入和输出
  11. C++ 基本语法
  12. C++ 文件和流