在 C++ 中部分截断流(fstream 或 ofstream)

Pau*_*way 5 c++ fstream truncate file ofstream

我正在尝试使用 fstream 部分截断(或缩短)现有文件。我尝试过写一个 EOF 字符,但这似乎没有任何作用。

任何帮助,将不胜感激...

Mat*_*ner 3

我认为你不能。有许多函数可以“上下”移动 的包装器层次结构HANDLE<->int<->FILE *,至少在 Windows 上是这样,但是没有“正确的”FILE *从 iostreams 对象中提取 的函数(如果确实是用一个函数实现的话)。

您可能会发现这个问题有帮助。

就我个人而言,我强烈建议避开 iostream,它们设计得很糟糕,大量使用 C++,而且看起来很糟糕。查看Boost 的 iostreams,或者如果需要使用类,则包装stdio.h 。

stdio 的相关函数是ftruncate()