免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5962 | 回复: 11
打印 上一主题 下一主题

在unix中请教怎样判断一个文件是否被打开或关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-01 11:12 |只看该作者 |倒序浏览
现在遇到的问题是有时忘了关闭文件就出现操作文件时会有bug,请教怎样判断文件是否关闭或打开IsOpen(char *pFileName);

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2004-08-01 11:51 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

不要忘了不就行了?

论坛徽章:
0
3 [报告]
发表于 2004-08-01 13:43 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

[quote]原帖由 "scounixadmin"]现在遇到的问题是有时忘了关闭文件就出现操作文件时会有bug,请教怎样判断文件是否关闭或打开IsOpen(char *pFileName);[/quote 发表:


就算你知道 *pFileName 这个文件没关闭,你没有文件描述符,你怎么关闭阿?     

论坛徽章:
0
4 [报告]
发表于 2004-08-01 14:17 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

我虽然没有文件句柄,我的目的是可以查看程序哪儿出问题了

论坛徽章:
0
5 [报告]
发表于 2004-08-01 15:33 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

那就封装一下 open和close函数,
open后对打开文件作个标记,
close 后清除标记;
需要判断文件是否关闭或打开只要遍历一下标记列表就可以了。
。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2004-08-01 17:46 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

[quote]原帖由 "scounixadmin"]我虽然没有文件句柄,我的目的是可以查看程序哪儿出问题了[/quote 发表:

查看 errno,就知道打开文件到底是“哪儿出问题了”。

论坛徽章:
0
7 [报告]
发表于 2004-08-01 21:26 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

我想到了封装fopen fclose函数,但我认为看errno不可行,因为一个文件可以同时被打开好几次,实际上我碰到的具体问题是:生成文件时没有及时fflush或fclose然后FTP文件,结果碰到FTP没报错但传的文件长度为0,进程退出后生成的文件却存在.结果查到了出错原因,这种情况我想实现报错,不知除了封装之外有无系统的调用函数检查文件是否被打开

论坛徽章:
0
8 [报告]
发表于 2004-08-02 07:58 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

“亡羊补牢”是开发者的大忌,找到并解决BUG是正解。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2004-08-02 09:49 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

[quote]原帖由 "scounixadmin"]我想到了封装fopen fclose函数,但我认为看errno不可行,因为一个文件可以同时被打开好几次,实际上我碰到的具体问题是:生成文件时没有及时fflush或fclose然后FTP文件,结果碰到FTP没报错但传的文件长度为0,进程退出后生..........[/quote 发表:

问题是你封装后的 fopen 谁愿意用啊!
人间直接 open,还不是照样让你找不着北?

论坛徽章:
0
10 [报告]
发表于 2004-08-03 10:53 |只看该作者

在unix中请教怎样判断一个文件是否被打开或关闭

还是封装open的好!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP