gpt4 book ai didi

c++ - 了解以下情况……fstream 何时打开文件以及何时不打开文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:15:14 25 4
gpt4 key购买 nike

这是我的一段代码:

fstream f;
f.open("memory.txt", ios::out|ios::in);//'memory.txt' already exists - I open it

//...(here are some operations performed on file f)...

f.close();
remove("memory.txt");

// *** Next, I create a file with the same name ***

fstream f1("memory.txt");
f1.open("memory.txt", ios::in |ios::out |ios::trunc);//#

//...(some operations performed on file f1)...

f1.close();

我的问题是:

  1. 如果我替换 # - 行 f1.open("memory.txt", ios::in |ios::out );文件f1 打不开。为什么?
  2. 如果我用 f1.open("memory.txt", ios::in |ios::trunc ); 替换 # - 行文件f1 打不开。为什么?
  3. 如果我用 f1.open("memory.txt", ios::out |ios::trunc ); 替换 # - 行,文件将打开!为什么?

最佳答案

  1. 您不检查文件是否已成功删除,如果文件不存在,它将失败。
  2. ios::out 必须设置 ref.
  3. ios::trunc 如果文件存在则标志删除所有内容,因此无论文件是否存在它都会打开。

关于c++ - 了解以下情况……fstream 何时打开文件以及何时不打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34473435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com