0

请问,什么包含 fstream 变量?A 可以找到很多关于 fstream 的教程,但没有一个真正说明 fstream 文件是什么;开头的声明。谢谢。

4

3 回答 3

2

fstream 对象用于打开文件以进行输入(即读取文件的内容)和输出(即写入文件)。

还有 ifstream 和 ofstream 对象,它们将输入和输出分成两个不同的对象。例如,如果您想读取未格式化的文件并将格式化的输出写入不同的文件,这将非常有用。

于 2010-05-06T21:24:56.590 回答
2

fstream 类是一个处理文件输入和输出的对象。它主要等同于 ifstream 和 ostream 对象合二为一,因为您可以将其用于输入和输出。这个小演示将创建一个文件并向其中写入数据。

#include <fstream>
using namespace std;

int main()
{
fstream myFile;
myFile.open("data.txt");
myFile << "This will appear in the file.";
myFile.close();
}

fstream 对象最酷的地方在于,您可以使用它们来读取二进制内存映像并将其写入文件(以保护文件数据不被编辑)并设置各种标志来控制 fstream 处理输入和输出的方式。例如:

这个 fstream 是一个输出流,它清除 fout.txt 的数据并以二进制形式写入。

fstream foutOne("fout.txt", ios::binary | ios::out | ios::trunc)

这个 fstream 是一个输出流,它不会清除 fout.txt 的数据,而是附加到它的末尾,并以二进制形式写入。

fstream foutTwo("fout.txt", ios::binary | ios::out | ios::app)

如果我没记错的话,如果 fout.txt 不存在 foutTwo 会崩溃,而 foutOne 不会。您可以(并且应该始终)检查 fstream 是否在打开文件后立即正确加载,如下所示:

if(!foutTwo)
{ cout << "File open error!\n"; exit(EXIT_FAILURE); }
于 2010-05-06T21:30:55.000 回答
0

std::fstream 是一个封装对文件的读/写访问的类。它继承自 iostream,因此它使用所有 C++ 流提供的所有常用方法来读取和写入文件。有关更多信息,请参阅其文档和 C++ 手册中有关 IO 的章节。

于 2010-05-06T21:27:38.860 回答