c++ - 如何在 fstream 中转到文件的开头?
问题描述
我正在练习文件处理。我制作了一个文本文件并在其中写入了一些字符,现在我希望光标转到文件的开头并使用 seekp 将一个字符放在那里。
这是代码
fstream ofile;
char ch = 'g';
ofile.open("test.txt", ios::out | ios::app);
ofile.seekp(0, ios::beg);
ofile.put(ch);
ofile.close();
预期结果: 它在文件开头写入 g。
实际结果: 它在末尾附加 g。
我尝试删除 ios::app 标记,但 ios::out 在写入任何内容之前单独截断文件。
解决方案
请参阅: http ://en.cppreference.com/w/cpp/io/basic_fstream/open
std::ios::app seek to the end of stream before each write
推荐阅读
- python - 在没有使用 selenium webdriver python 注销的情况下,无法从一个 url 移动到另一个 url
- ruby-on-rails - 如何获得唯一性验证以通过 Rails 5
- react-router - 为什么挂载新页面组件时enter-animation不运行
- c# - 使用 IHubContext 创建类实例
- javascript - 带有 2 个查询字符串参数的 Express POST 请求
- r - Shiny Plotly R - 在图表之间切换时,保持缩放
- angular - 错误 TS2304:尝试使用角度和离子进行无限滚动时找不到名称“数据”
- python-2.7 - 如何通过 Python 使用 Selenium 从元素中获取文本
- python - 将字典转换为(密集)矩阵的快速方法
- python - AttributeError:模块'networkx'没有属性'Graph'--duplicate