如何使用打开的文件句柄或流将顺序文件的内容清空?

zoohoo 2003-10-21 09:09:34
such as:
fstream is("./aaa.txt", ios::in|ios::out);
if(is.bad() || !is.good())
{
return 0;
}
is.clear(); // 对于打开的文件流,怎么把文件的内容清空呢?
...
...
...

is.close();
...全文
72 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoohoo 2003-10-21
  • 打赏
  • 举报
回复
楼上的朋友,我说是已经打开的文件句柄,这样肯定不行的。
楼上楼上的朋友,ftruncate好像是unix下的api,拿在windows下面应该怎么做呢?thx~
Hot_Forever 2003-10-21
  • 打赏
  • 举报
回复
ios::in|ios::out|ios::trunc

就可以把文件原先的内容清空了
fierygnu 2003-10-21
  • 打赏
  • 举报
回复
ftruncate - set a file to a specified length
int ftruncate(int fildes, off_t length);
zoohoo 2003-10-21
  • 打赏
  • 举报
回复
clear the file handle, not file content. I want to clear the file content. you know!
mixtrue 2003-10-21
  • 打赏
  • 举报
回复
or you can look up in msdn . there is more detail information vailable in msdn. Enjoying it.
mixtrue 2003-10-21
  • 打赏
  • 举报
回复
ftruncate is clear the file handle when you use it . Before you use it , you must clear the file heandle. ftruncate is file truncate . Main meaning is to clear opened file handle.
zoohoo 2003-10-21
  • 打赏
  • 举报
回复
ftruncate是什么?没有听说过嘛,能不能具体一点,thx!
fierygnu 2003-10-21
  • 打赏
  • 举报
回复
ftruncate
zoohoo 2003-10-21
  • 打赏
  • 举报
回复
ok
散分!
fierygnu 2003-10-21
  • 打赏
  • 举报
回复
先用SetFilePointer设置到文件头,然后SetEndOfFile。
zoohoo 2003-10-21
  • 打赏
  • 举报
回复
SetEndOfFile
The SetEndOfFile function moves the end-of-file (EOF) position for the specified file to the current position of the file pointer.

BOOL SetEndOfFile(
HANDLE hFile // handle of file whose EOF is to be set
);

好像不对嘛!
fierygnu 2003-10-21
  • 打赏
  • 举报
回复
SDK的函数SetEndOfFile。
Hot_Forever 2003-10-21
  • 打赏
  • 举报
回复
关掉再打开行不?

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧