我打开一个文件(fopen),但不想关闭它(fclose),在下面的程序中我想rename该怎么办

a012569 2003-10-20 01:24:12
我打开一个文件(fopen),
但不想关闭它(fclose),
在下面的程序中我想rename时出现 EACCES错误
该怎么更改文件属性或共享属性才能在不关闭文件的情况下正常更名
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
短歌如风 2003-10-20
  • 打赏
  • 举报
回复
“用notepad打开”其实是“打开文件”——“读取内容”——“关闭文件”。
也就是说,这时文件已经关闭,所以可以改名。
yizhili 2003-10-20
  • 打赏
  • 举报
回复
呵呵,刚才试着用notepad打开一个文件,然后对原文件改名,居然成功了。
不过在notepad中修改一下后保存时出了点小问题,说是路径还是文件名有错误,然后打开了Save as 对话框。
winco 2003-10-20
  • 打赏
  • 举报
回复
:)
zoohoo 2003-10-20
  • 打赏
  • 举报
回复
将文件的内容复制到新生成的文件中,然后将这个文件改为你需要的文件名。呵呵,好像不应该有你这样奇怪的需求的。
短歌如风 2003-10-20
  • 打赏
  • 举报
回复
也许某些操作系统下可以,不过在目前我用过的操作系统下是不允许的。
daizh 2003-10-20
  • 打赏
  • 举报
回复
当然不能这样给文件重新改名。你的文件名已经被fopen打开操作而没被释放,在用rename时就会出现文件已存在的错误。再说,你能将它文件名该了,那么fopen和它相关联的文件句柄,又指向谁呢,如何保存文件内容呢。

69,364

社区成员

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

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