C++ 基本输入输出 (cin, cout, cerr, clog)25 Apr 2025 | 10 分钟阅读 C++ I/O 操作使用流的概念。一系列字节或数据流被称为流,它可以是输入流或输出流。这可以提高程序的性能。 输出操作: 如果字节从主内存传输到设备,例如 打印机、显示屏、网络连接等,则称为输出操作。
输入操作: 当数据字节从键盘等输入设备流向系统的内存时,称为输入操作。
C++ 基本输入输出示例这是一个演示基本 I/O 的简单程序 示例编译并运行输出 Enter your name: Alice Enter your age: 28 Enter your height in meters: 5.8 --- User Details --- Name: Alice Age: 28 years Height: 5.8 meters 说明 在此示例中,程序使用 cin 通过终端获取用户输入数据。之后,程序通过多个输入接受各种数据类型,包括字符串、整数和浮点数。输出的格式依赖于 cout 来使用插入运算符。 理解 C++ 中的流在 C++ 中,流充当抽象,提供对设备的访问,这些设备用于读取或写入数据。iostream 库引入了四个标准流元素,其中包括:
C++ 中的流如何工作?C++ 中的流使用运算符进行操作
C++ I/O 头文件及其功能在 C++ 中,通过头文件提供预定义的函数和声明,使我们无需从头开始编写新代码即可完成特定任务。用于输入/输出操作的一些重要头文件包括用于有效执行输入和输出任务的函数。让我们讨论主要的输入/输出操作头文件:
1. iostream它是 C++ 中输入/输出操作最重要的头文件之一。“input-output”流的缩写。为了处理各种形式的输入/输出流,iostream 头文件包含了 istream(输入流)和 ostream(输出流)类以及其派生类 ifstream、ofstream 和 stringstream。 cin(标准输入)和 cout(标准输出)是此头文件中最常用的类,它们允许我们读取用户输入并将输出显示在控制台上。 C++ iostream 示例让我们以一个例子来演示 C++ 中的 iostream 头文件。 示例编译并运行输出 Enter a number: 42 You entered: 42 说明 通过 iostream 头文件,用户可以使用 cin 作为输入流和 cout 作为输出流执行输入输出操作。cin >> num 命令提取用户输入,而 cout << num 允许显示输入数据。endl 操纵器结合换行符和输出缓冲区刷新,以提供即时显示。 2. iomanip此头文件代表“输入输出操作”。它提供了格式化输入和输出的工具。它允许我们修改输入和输出的对齐、宽度、精度和其他格式化功能。 iomanip 头文件中常用的函数有 setw、setprecision、fixed、left、right 等。它特别适用于以特定方式呈现数据。 C++ iomanip 示例让我们以一个例子来演示 C++ 中的 iomanip 头文件。 示例编译并运行输出 Value of pi: 3.14 说明 在此示例中,iomanip 头文件通过其 fixed 常量启用流格式化,该常量设置了固定点显示,并使用 setprecision(2) 将小数精度限制为两位。流插入运算符 << 将 pi 的格式化值发送到控制台显示。 3. fstream文件输入/输出操作的头文件称为 fstream。它包含用于从文件中读取和写入文件的类 ifstream(输入文件流)和 ofstream(输出文件流)。系统使用这些类来打开只读和只写文件。 C++ fstream 示例让我们以一个例子来演示 C++ 中的 fstream 头文件。 示例编译并运行输出 The file was written successfully. 说明 在此程序中,我们使用 fstream 头文件,它允许用户通过将“Hello File I/O!”插入到 outputFile.txt 中来执行文件输出 (ofstream) 和文件输入 (ifstream)。outputFile.close() 命令永久结束文件流,is_open() 函数评估文件打开状态。 使用 Namespace Std在 C++ 中,我们经常在头文件之后使用“using namespace std;”。namespace std; 语句在 C++ 中被广泛用于在处理标准库组件时简化代码。 命名空间 (namespace) 是一种用于分组相似标识符(包括类、函数和变量)以防止命名冲突的技术。C++ 标准库在 std 命名空间下提供了其组件(如 cin, cout 等)。现在让我们讨论为什么使用 using namespace std; 语句。 未使用 using namespace std使用 using namespace std正如我们所见,使用 namespace std; 语句允许我们在访问标准库组件时省略 std:: 前缀。这使得我们的代码更短、更具可读性,因为我们不必在每个标准库标识符前重复 std::。 I/O 库头文件C++ 中有几个输入/输出头文件,如下所示: 标准输出流 (cout)cout 对象是一个 ostream 类预定义对象。它连接到标准输出设备,通常是显示屏。cout 与流插入运算符 (<<) 结合使用,在控制台上显示输出。 C++ 标准输出流示例 让我们看一个 C++ 中标准输出流 (cout) 的简单示例。 示例编译并运行输出 Value of ary is: Welcome to the C++ tutorial 说明 ostream 类包含 cout 作为对象,它允许用户通过控制台显示信息。流插入运算符 << 允许程序输出值。 标准输入流 (cin)cin 是 istream 类的预定义对象。它连接到标准输入设备,通常是键盘。cin 与流提取运算符 (>>) 结合使用,以从控制台读取输入。 C++ 标准输入流示例 让我们看一个 C++ 中标准输入流 (cin) 的简单示例。 示例编译并运行输出 Enter your age: 22 Your age is: 22 说明 cin 对象属于 istream,它允许读取控制台输入。>> 流提取运算符允许程序将用户输入放入变量中。程序输入函数 cin >> age 读取用户生成的整数并将其存储在 age 变量中。 标准换行符 (endl)endl 是 ostream 类的预定义对象。它用于插入一个新字符并刷新流。 C++ 标准换行符示例 让我们看一个 C++ 中标准换行符 (endl) 的简单示例。 示例编译并运行输出 C++ Tutorial Tpointtech End of line 说明 ostream 类操纵器 endl 添加一个新行字符并清除缓冲区数据以立即显示。示例中的代码 "End of line" << endl 会导致 "End of line" 显示,然后它会移动到下一行。 无缓冲标准错误流 (cerr)cerr 代表“标准错误”。它是一个无缓冲流,意味着发送到 cerr 的输出会立即显示在控制台上,而不会缓冲。它通常用于显示错误消息和诊断信息,这些信息需要立即显示,以避免缓冲引起的延迟。 C++ 无缓冲标准错误流 (cerr) 示例 让我们看一个 C++ 中无缓冲标准错误流 (cerr) 的简单示例。 示例编译并运行输出 This is an error message. 说明 输出流 cerr 作为无缓冲错误消息流运行,它会立即显示输出而无需缓冲。程序使用 std::cerr << "This is an error message." 语句显示错误消息。 缓冲标准错误流 (clog)clog 代表“标准日志”。它是一个缓冲流,类似于 cout。它通常用于写入不太紧急于错误的、信息性或诊断性的消息。当显示大量消息时,使用缓冲可以提高性能。 C++ 缓冲标准错误流 让我们看一个 C++ 中缓冲标准错误流 (cerr) 的实例。 示例编译并运行输出 This is an Tpointech message. 说明 clog 定义了一个用于日志记录和信息性消息的缓冲流。程序运行更有效率,同时减少了系统开销。程序使用标准 clog 流来显示信息性消息。 C++ 输入输出操作示例让我们以一个例子来说明 C++ 中的输入/输出操作。 示例编译并运行输出 Hello, File I/O! 说明 该程序通过 ifstream 和 ofstream 的组合展示了如何读取和写入文件数据。getline 函数从文件内容中提取整行。 输入输出的特点输入输出的几个特点如下:
结论总之,C++ 中的 I/O 流为用户提供了强大的解决方案集,用于灵活且用户友好的输入和输出执行。对流以及格式化 I/O 和文件处理的全面理解是开发交互式和数据驱动的 C++ 应用程序所必需的。 C++ 基本输入输出选择题1. 关于 C++ 中的 cin 对象,以下哪个说法是正确的?
答案: b) cin 读取输入直到遇到空格。 2. 如果使用 cin 输入一个包含空格的字符串,会发生什么?
答案: b) 只存储空格之前的内容(第一个单词)。 3. 关于 C++ 输入输出操作,以下哪个说法是正确的?
答案: c) iostream 库支持标准 I/O 操作。 4. C++ 中 iomanip 库的主要目的是什么?
答案: c) 格式化输入和输出 5. 当我们在 C++ 中使用 endl 操纵器时会发生什么?
答案: b) 该操纵器将光标移到新行位置并立即清除输出缓冲区的内容。 |
Turbo C++ - 下载与安装 有许多可用的 C++ 编译器。您需要下载其中一个。在这里,我们将使用 Turbo C++。它可同时用于 C 和 C++。要安装 Turbo C++ 软件,您需要遵循以下步骤...
阅读 2 分钟
在 C++ 中,标识符用于引用程序员创建的变量、函数、数组或其他用户定义数据类型的名称。它们是任何语言的基本要求。每种语言都有其自己的标识符命名规则。语法:它具有以下...
7 分钟阅读
变量是编程中数据操作和存储的基本构建块,它们充当 C++ 编程语言中数据的动态容器。变量不仅仅是一个内存标签。它是内存中数据的命名存储位置。它……
阅读 8 分钟
C++ 表达式由运算符、常量和变量组成,这些运算符、常量和变量根据语言规则排列。它还可以包含返回值的函数调用。表达式可以由一个或多个操作数和零个或多个运算符组成,以计算一个值……
11 分钟阅读
了解 C++ 语言的历史很有趣。在这里,我们将讨论 C++ 语言的简要历史。C++ 凭借其卓越的功能(包括效率和强大的功能交付以及灵活的能力)保持着其作为最杰出的编程语言之一的地位……
5 分钟阅读
本主题讨论 C 和 C++ 的定义,并区分它们。C 和 C++ 是软件开发中最基本和最广泛使用的两种编程语言。尽管它们在语法和结构方面存在一些相似之处,但它们的设计理念不同……
5 分钟阅读
C++ 数据类型 C++ 中的数据类型指定变量可以存储的数据类型,以及它们可以保存的内存量以及允许的操作。可以将 C++ 数据类型分为三个通用类别:基本类型、派生类型和用户定义类型。1. 基本(内置)数据类型:这些...
阅读 17 分钟
在开始学习 C++ 语言的 abc 之前,您需要学习如何编写、编译和运行第一个 C++ 程序。要编写第一个 C++ 程序,请打开 C++ 控制台并编写以下代码:#include <iostream.h> #include<conio.h> void main() { clrscr(); cout << "Welcome...
阅读1分钟
在 C++ 中,运算符是用于在操作数上的变量和值上执行操作的特殊符号。运算符是任何编程语言的基本概念。可以有多种运算,包括算术、赋值、位运算和逻辑运算。基本示例:让我们来看一个基本示例……
阅读 12 分钟
教程 编译器 程序 面向对象 STL 面试题 此 C++ 教程可帮助您轻松理解 C++ 语言,无论您是初学者还是专业人士。此 C++ 教程用程序解释每个主题……
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India