永发信息网

求教:C语言中的fileno是什么意思

答案:2  悬赏:10  手机版
解决时间 2021-02-26 17:50
  • 提问者网友:树红树绿
  • 2021-02-26 01:59
求教:C语言中的fileno是什么意思
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-02-26 02:11
1.当打开或创建一个文件的时候,内核向进程返回一个文件描述符..比如用open函数..creat函数等等.
它并非是定义的.
但是对于标准输入,输出,和错误.其分别用0,1,2标识,同时它们又有相应的常量STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO
2.不唯一.
比如有两个进程.一个读,一个写的.它们打开同一文件,那么对于这个文件来说就有两个文件描述符.
但文件并不知道自己的文件描述符,因为文件描述符是进程所拥有的.
3.struct stat描述了文件的属性..诸如是什么类型的文件,为谁所有,属于哪个组,何时被修改过等等.
全部回答
  • 1楼网友:北方的南先生
  • 2021-02-26 03:11
#include #include int main() { char outfile[20]; file* ofp; int fn; file* kk; int sz; scanf("%s",outfile);//输入d:\\hu.cod ofp=fopen(outfile,"r"); if(!ofp) { fprintf(stderr, "file not found.\n"); return 0; } fn=fileno(ofp); sz=_filelength(fn);//求文件大小 printf("@@@@@@@@@文件2大小为:%d字节@@@@@\n",sz); fclose( ofp );//这个去掉,大小也是一样的。 kk=fopen(outfile,"rb"); if(!kk) { fprintf(stderr, "file zhandian not found.\n"); return 0; } fn=fileno(kk); sz=_filelength(fn); printf("@@@@@@@@@文件2大小为:%d字节@@@@@\n",sz); return 0; } 你看看这个,我运行的是大小一样,你运行试试,不懂继续问,请采纳!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯