C++ 输入输出重定向

17 Mar 2025 | 4 分钟阅读

在本文中,我们将讨论输入输出重定向及其示例。但在讨论输入和输出重定向之前,我们必须了解 C++ 中的重定向

重定向是指更改输入和输出流的默认源或目标。它改变了程序与输入和输出交互的方式。它是操作系统和编程语言中的一个基本概念,用于许多目的。它为处理来自不同来源的数据提供了灵活性。

输入和输出操作通过表示数据或字符序列的流执行。标准库提供了基本的流对象,如用于输入的 "cin" 和用于输出的 "cout"。它们分别与键盘和控制台相关。

I/O 重定向涉及更改输入和输出流的默认源或目标,而不是与标准输入和输出交互。这种重定向是通过使用 <fstream> 库将流对象与文件流关联来实现的。

输入重定向

它是一个改变程序或命令输入源的概念。输入不是直接从默认源(如键盘)读取信息,而是重定向到特定文件。例如,一个用于分析文本的程序可以从包含文本数据的文件中读取输入,而不是提示用户输入。

Jtp_sample.txt

示例

让我们以一个 C++ 程序来说明输入重定向

输出

Input and output Redirection in C++

说明

上述程序将从 "jtp_sample.txt" 文件中读取单词,计算文件中的单词数量,并增加 wordcount 变量。之后,此程序会在控制台上显示总词数。然后,输入文件流被关闭。

输出重定向

输出重定向是一个概念,它将程序输出的目标从默认输出设备更改为特定文件。它通过使用文件流对象(如 "ofstream")来实现。输出重定向将支持追加到现有文件,从而可以累积多次运行的结果。

示例

让我们以一个 C++ 程序来说明输出重定向

输出

Input and output Redirection in C++

说明

上述程序将检查文件流是否成功打开。之后,如果文件不存在,它会显示一条错误消息。该程序生成从 1 到 10 的数字,然后将它们以空格分隔写入输出文件。之后,文件流被关闭。

示例

让我们以一个示例来说明 C++ 中的输入和输出重定向。

输出

Input and output Redirection in C++

说明

这个 C++ 程序实现了一个简单的费用跟踪器,具有添加费用和查看摘要的选项。它使用文件流(ofstreamifstream)将费用数据写入/读取到名为 "expenses.txt" 的文件中。该程序显示一个用于用户交互的菜单,允许添加带有类别和金额的费用。它还允许查看所有费用及其总额,演示了实际应用程序中的基本文件 I/O 操作。