c++ - 在只知道 FILE * 的 C++ 中清除文件内容

标签 c++ c file

是否可以在只知道 FILE* 的 C++ 中清除内容(即将 EOF 设置为开头/重置文件)?我正在使用 wb+ 访问权限写入临时文件,并希望有时清除它并截断它,而不添加对 fclose 和 fopen 的调用。我认为这不可能......但如果不可能,为什么不呢?

提前致谢!

最佳答案

这取决于您的平台。 POSIX 标准提供ftruncate() ,它需要一个文件描述符,而不是一个 FILE 指针,但它也提供 fileno()FILE指针获取文件描述符。

类似的设施将在 Windows 中提供。环境 - 但名称不同。

关于c++ - 在只知道 FILE * 的 C++ 中清除文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3259934/

相关文章:

c++ - 使用 C++ 和 sfml 的简单碰撞问题

c - 如何在 Mac 的 C 中获取接收击键的应用程序的 id?

android - 无法在 Flutter 中覆盖文件

c# - 如何从内存流中打开文件

c++ - 如何理解赋值表达式 "a=(b=4)=3"

C++11:GCC 4.8 静态 thread_local std::unique_ptr 未定义引用

c++ - 在 OSX 中使用什么架构?

c - OpenGL属性除数的最大值

c - 在C中进行游戏的while循环?

file - 使用 Powershell 获取列在 "Details"选项卡中的属性