69,371
社区成员
发帖
与我相关
我的任务
分享
int F;
F = open("/home/dv/zz.txt",O_REONLY|O_CREATE|O_TRUN);
用这种方式打开结果得到文件描述符F,当然这代码文件是打开的,现在我的麻烦事,假如就这样一个文件描述符,作为参数传入函数,在函数内如何判断这个文件是否处于打开状态,要求不适用fcntl()函数[/quote]
我感觉这个不容易办到吧,他就是一个指针,里面又不包含状态信息,把任意一个变量的地址传给他都是有效的,况且把一个已经关闭的文件指针传给你也是检测不出来的,如果不进行文件操作,是不太可能知道这个指针是否有效的,只能做简单的判断,比如是不是空指针[/quote]
文件描述符是个int值,并不是个指针。你把文件指针和文件操作符搞混了。(这也能搞混- -几天没睡觉了?)
int F;
F = open("/home/dv/zz.txt",O_REONLY|O_CREATE|O_TRUN);
用这种方式打开结果得到文件描述符F,当然这代码文件是打开的,现在我的麻烦事,假如就这样一个文件描述符,作为参数传入函数,在函数内如何判断这个文件是否处于打开状态,要求不适用fcntl()函数[/quote]
我感觉这个不容易办到吧,他就是一个指针,里面又不包含状态信息,把任意一个变量的地址传给他都是有效的,况且把一个已经关闭的文件指针传给你也是检测不出来的,如果不进行文件操作,是不太可能知道这个指针是否有效的,只能做简单的判断,比如是不是空指针
int F;
F = open("/home/dv/zz.txt",O_REONLY|O_CREATE|O_TRUN);
用这种方式打开结果得到文件描述符F,当然这代码文件是打开的,现在我的麻烦事,假如就这样一个文件描述符,作为参数传入函数,在函数内如何判断这个文件是否处于打开状态,要求不适用fcntl()函数