33问答网
所有问题
求c语言判断文件是否已经打开的方法。就是从已知的文件句柄fp来判断的,在linux和windows平台通用的。
如题所述
举报该问题
推荐答案 2012-03-10
自己找到答案了。开个小号来收走。
文件结构体中有状态标识符,可以用来判断文件是的打开状态。windows下面是_flag,linux上面是flags,solaris上面的结构体变量中没有状态标识符。但是linux和solairs上面都可以用fileno来获得文件的描述符,然后用fcntl来获得文件的状态标识。fcntl(fd,F_GETFL),大概是这样写。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://33.wendadaohang.com/zd/4BB40W4BP.html
其他回答
第1个回答 2012-03-03
if(fp==NULL)
如果打开失败
一般都采用这句来判断文件是否打开。例如:
fp=fopen(fname,"r");
if(fp==NULL)
{
printf("错误!");
exit(1);
}
相似回答
c语言
里面如何
判断
一个
文件
不存在?
答:
//用fopen()函数以读的方式
打开,
如果
文件句柄
为NULL,则该文件不存在咯!//希望对您有所帮助!!include <stdio.h> include <stdlib.h> int main(){ FILE *
fp
;if ((fp=fopen("test.txt", "r")) == NULL)printf("File test.txt not exists.\n");else printf("File test.txt exists...
c语言
一行程序麻烦逐行解释一下
答:
int load(){ /*声明一个文件句柄*/ FILE *fp;int i;/*以二进制只读形式
打开文件
results.txt,并把函数返回
的文件句柄
赋值给
fp,
如果 fp为NULL,则
文件打开
失败,打印错误信息,并退出程序。/ if((fp=fopen("results.txt","rb"))==NULL){ printf("文件打开错误");return 0;} /*否则,循环...
文件句柄
是什么?
答:
问题一:文件句柄是什么 在文件I/O中,要从一个文件读取数据,应用程序首先要调用操作系统函数并传送文件名,并选一个到该
文件的
路径来
打开文件
。该函数取回一个顺序号,即文件句柄(file handle),该文件句柄对于
打开的文件是
唯一的识别依据。要
从文件
中读取一块数据,应用程序需要调用函数ReadFile,并将
文件句柄在
内存中...
大家正在搜
相关问题
在Linux下用c语言 如何判断文件是文件还是目录
如何用C语言获取文件的大小
c语言中,再对文件的操作模式中,a和a+、w和w+、r和r+...
C语言 fopen为什么打开不了txt文件
LINUX C语言写一个读写文件的程序,读取的话,要把文件内...
C语言怎么判断文件是否为空
c语言打开文件前,如何判断该文件是否已经被打开
C语言如何判断文件是否可读写