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

C++ 文件处理:如何在 C++ 中打开、写入、读取、关闭文件

什么是 C++ 中的文件处理?

文件将数据永久存储在存储设备中。通过文件处理,程序的输出可以存储在文件中。可以在文件中对数据进行各种操作。

流是执行输入/输出操作的设备的抽象。您可以将流表示为目标或不定长度字符的源。这将取决于它们的使用情况。 C++ 为您提供了一个带有文件处理方法的库。让我们讨论一下。

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

fstream 库

fstream 库为 C++ 程序员提供了三个用于处理文件的类。这些类包括:

下图很容易理解:

<中心>

<图>



要使用fstream库的上述类,你必须将它作为头文件包含在你的程序中。当然,您将使用#include 预处理器指令。您还必须包含 iostream 头文件。

如何打开文件

在对文件执行任何操作之前,您必须先打开它。如果您需要写入文件,请使用 fstream 或 ofstream 对象打开它。如果只需要从文件中读取,请使用 ifstream 对象打开它。

三个对象,即 fstream、ofstream 和 ifstream,都在其中定义了 open() 函数。该函数采用以下语法:

open (file_name, mode);
价值 说明 ios::appAppend模式。发送到文件的输出附加到它。ios::ate它打开文件以进行输出,然后将读写控制移动到文件的末尾。ios::in它打开文件进行读取。ios::out它打开文件对于 write.ios::trunc 如果文件存在,则文件元素应在打开之前被截断。

可以同时使用两种模式。您可以使用 | 组合它们(OR) 运算符。

示例 1:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file.close(); 
	}
	return 0;
}

输出:

下面是代码截图:


代码说明:

  1. 在程序中包含 iostream 头文件以使用其功能。
  2. 在程序中包含 fstream 头文件以使用其类。
  3. 在我们的代码中包含 std 命名空间,以便在不调用它的情况下使用它的类。
  4. 调用 main() 函数。程序逻辑应该在它的主体中。
  5. 创建 fstream 类的对象并将其命名为 my_file。
  6. 对上述对象应用 open() 函数来创建一个新文件。 out 模式允许我们写入文件。
  7. 使用if语句判断文件创建是否失败。
  8. 如果文件未创建,则在控制台上打印消息。
  9. if 语句主体的结尾。
  10. 使用 else 语句说明如果文件已创建,该怎么做。
  11. 创建文件后在控制台上打印的消息。
  12. 对对象应用 close() 函数来关闭文件。
  13. else 语句主体的结尾。
  14. 如果成功完成,程序必须返回值。
  15. main() 函数体结束。

如何关闭文件

一旦 C++ 程序终止,它会自动终止

但是,作为程序员,你应该学会在程序终止之前关闭打开的文件。

fstream、ofstream 和 ifstream 对象具有用于关闭文件的 close() 函数。该函数采用以下语法:

void close();

如何写入文件

您可以直接从 C++ 程序写入文件。为此,您使用流插入运算符 (<<)。要写入文件的文本应该用双引号括起来。

让我们证明这一点。

示例 2:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::out);
	if (!my_file) {
		cout << "File not created!";
	}
	else {
		cout << "File created successfully!";
		my_file << "Guru99";
		my_file.close();
	}
	return 0;
}

输出

下面是代码截图:


代码说明:

  1. 在程序中包含 iostream 头文件以使用其功能。
  2. 在程序中包含 fstream 头文件以使用其类。
  3. 在程序中包含 std 命名空间以使用其类而不调用它。
  4. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  5. 创建 fstream 类的实例并将其命名为 my_file。
  6. 使用 open() 函数创建一个名为 my_file.txt 的新文件。该文件将以 out 模式打开以进行写入。
  7. 使用 if 语句检查文件是否未被打开。
  8. 文件未打开时在控制台上打印的文本。
  9. if 语句主体的结尾。
  10. 使用 else 语句说明如果文件已创建,该怎么做。
  11. 创建文件后在控制台上打印的文本。
  12. 在创建的文件中写入一些文本。
  13. 使用 close() 函数关闭文件。
  14. else 语句主体的结尾。
  15. 程序必须在成功完成后返回值。
  16. main() 函数主体的结尾。

如何读取文件

您可以将文件中的信息读入您的 C++ 程序。这可以使用流提取运算符 (>>) 来实现。您使用运算符的方式与使用它从键盘读取用户输入的方式相同。但是,您不使用 cin 对象,而是使用 ifstream/ fstream 对象。

示例 3:

#include <iostream>
#include <fstream>
using namespace std;
int main() {
	fstream my_file;
	my_file.open("my_file.txt", ios::in);
	if (!my_file) {
		cout << "No such file";
	}
	else {
		char ch;

		while (1) {
			my_file >> ch;
			if (my_file.eof())
				break;

			cout << ch;
		}

	}
	my_file.close();
	return 0;
}

输出:

没有这个文件

下面是代码截图:

代码说明:

  1. 在程序中包含 iostream 头文件以使用其功能。
  2. 在程序中包含 fstream 头文件以使用其类。
  3. 在程序中包含 std 命名空间以使用其类而不调用它。
  4. 调用 main() 函数。程序逻辑应添加到此函数的主体中。
  5. 创建 fstream 类的实例并将其命名为 my_file。
  6. 使用 open() 函数创建一个名为 my_file.txt 的新文件。该文件将以 in 模式打开以进行读取。
  7. 使用 if 语句检查文件是否不存在。
  8. 找不到文件时在控制台上打印的文本。
  9. if 语句主体的结尾。
  10. 使用 else 语句说明找到文件后要执行的操作。
  11. 创建一个名为 ch 的 char 变量。
  12. 创建一个用于迭代文件内容的 while 循环。
  13. 将文件的内容写入/存储在变量 ch 中。
  14. 使用 if 条件和 eof() 函数(即文件末尾)确保编译器在未到达末尾时继续读取文件。
  15. 一旦到达结尾,使用 break 语句停止读取文件。
  16. 在控制台打印变量 ch 的内容。
  17. while 正文的结尾。
  18. else 语句主体的结尾。
  19. 调用 close() 函数关闭文件。
  20. 程序必须在成功完成后返回值。
  21. main() 函数主体的结尾。

总结:


C语言

  1. C 文件处理
  2. 如何使用 TEXTIO 从文件初始化 RAM
  3. C++ 异常处理:Try、Catch、throw 示例
  4. 如何在 C 编程中写注释
  5. Java BufferedReader:如何通过示例在 Java 中读取文件
  6. C - 头文件
  7. C++ 文件和流
  8. C++ 信号处理
  9. Python - 文件 I/O
  10. 什么是千分尺? |你如何阅读千分尺
  11. 什么是铣刀?
  12. 如何阅读 CNC 蓝图