问题讨论:程序 C/C++ Java GUI编程 ASP Php Shell Perl Web开发 软件工程 三大件 机箱 存储设备 光存储 音频设备 视频设备 外设 购机
asp php java C CGI .net vb delphi unix&linux sql Word Excel WPS OutLook Powerpoint Dreamweaver FPage/Golive CSS/HTML DOM/JS
热门词:流程图 excel 入侵检测 vss Windows 安全漏洞 QQ空间 事件编程 MFC

 程序设计交流 > C/C++ 

[c/c++]猛然一个疑问

[2007-12-27 15:52:36] [来源: 百家电脑学院] [我要投稿]

2007-12-27 13:47soul_of_moon
[c/c++]猛然一个疑问

while(1)
{
       //open a file
       fopen
      
       //delete this file
       unlink
}

有没有问题?

2007-12-27 14:03cjaizss
创立临时文件?

2007-12-27 14:06Aryang
你是问没有close能unlink么?

2007-12-27 14:07soul_of_moon
原帖由 Aryang 于 2007-12-27 14:06 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=7774989&ptid=1034934][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
你是问没有close能unlink么? [/quote]
yes
2007-12-27 14:08soul_of_moon
不知道linux系统是怎么处理的

2007-12-27 14:25scutan
这是可以的, 即使是unlink之后也同样可以读写该文件.
这样做的原因是为了确保即使程序崩溃, 它所创建的临时文件也不会遗留下来.

2007-12-27 14:27soul_of_moon
[quote]原帖由 scutan 于 2007-12-27 14:25 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=7775110&ptid=1034934][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
这是可以的, 即使是unlink之后也同样可以读写该文件.
这样做的原因是为了确保即使程序崩溃, 它所创建的临时文件也不会遗留下来.


如果按照你的意思,也就是fd是会有泄漏的咯

2007-12-27 14:32cjaizss
一般临时文件与系统调用的关系是这样的:
open
unlink
close
也就是open之后马上跟着一个unlink

2007-12-27 14:33converse
fd是会泄露,但是进程退出后这些文件会被删除,我觉得是两码事情.

就好比你不断的分配动态内存不free,程序退出的时候也会归还这些内存.

·[c/c++]猛然一个疑问 | 相关文章·

·百家学院 | 最新评论·