代码之家  ›  专栏  ›  技术社区  ›  B.Gen.Jack.O.Neill

C++流变量

  •  0
  • B.Gen.Jack.O.Neill  · 技术社区  · 15 年前

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

    3 回复  |  直到 15 年前
        1
  •  2
  •   Squirrelsama    15 年前

    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将崩溃,而fouttone将不存在。您可以(并且应该始终)在打开文件后立即检查fstream是否正确加载,如下所示:

    if(!foutTwo)
    { cout << "File open error!\n"; exit(EXIT_FAILURE); }
    
        2
  •  2
  •   Maulrus    15 年前

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

    还有ifstream和ofstream对象,它们将输入和输出分离为两个不同的对象。例如,如果要读取未格式化的文件并将格式化的输出写入其他文件,则此选项非常有用。

        3
  •  0
  •   Matteo Italia    15 年前

    STD::FSoW是一个将文件读写访问封装在一起的类。它继承了IoSt流,因此它对所有C++流提供的所有常用方法进行读写。有关详细信息,请参阅 its documentation 以及关于C++手册中的IO的章节。