【问题标题】:What is the meaning of following syntax:: fstream myFile("test.txt", ios::in | ios::out | ios::trunc);以下语法是什么意思:: fstream myFile("test.txt", ios::in | ios::out | ios::trunc);
【发布时间】:2021-04-14 06:02:55
【问题描述】:
fstream myFile("test.txt", ios::in | ios::out | ios::trunc);

编译器在 C++ 文件处理中如何解释这一行?

【问题讨论】:

  • 您能否更具体地了解该声明? 究竟你想知道哪一部分?你的教科书是怎么说的?你做过什么样的研究?或者您可能需要先投资some good books
  • 用合适的例子说明,为什么在使用成员函数可以实现相同的操作重载时需要友元函数。这是完整的问题@Someprogrammerdude
  • edit您的问题包含所有相关信息。也请花一些时间刷新 SO tour,阅读 How to Ask,以及 this question checklist
  • 大概这些名字是std::fstreamstd::ios::instd::ios::outstd::ios::trunc。正如所写,它们没有内在意义。

标签: c++ file-handling


【解决方案1】:

ios::out 表示您打算写入文件而不是读取ios::in。在您的情况下,流可用于读取和写入。

ios::trunc 表示将丢弃当前文件内容。将此与 ios::app 进行比较,如果文件存在,您将在其中附加到文件。例如,如果未指定 ios::in,则隐含 ios::trunc"When used for an ofstream without ios::app, ios::ate or ios::in, ios::trunc is implied."

奖金:

iso::binary 表示您将写入的内容将逐字写入文件中(否则对于 windows 的 \n 可以替换为 \n\r 例如)

【讨论】:

    【解决方案2】:

    fstream :该数据类型一般代表文件流,同时具备ofstream和ifstream的能力,即可以创建文件、向文件写入信息、从文件中读取信息。 p>

    它还使用多个标志,如下所示:

    ios::app :追加模式。该文件的所有输出都将附加到末尾。

    ios::ate:打开一个文件进行输出,并将读/写控件移到文件末尾。

    ios::in :打开一个文件进行读取。

    ios::out : 打开一个文件进行写入。

    ios::trunc :如果文件已经存在,则在打开文件之前将截断其内容。

    在您的情况下,text.txt 文件将打开以供读取、写入,如果存在,则内容将被截断。

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 2013-02-11
      相关资源
      最近更新 更多