热门IT资讯网

[Linux流操作]获得流对应文件的文件描述符

发表于:2024-11-30 作者:热门IT资讯网编辑
编辑最后更新 2024年11月30日,//这是一个fileno函数的应用实例//调用对应的流操作函数创建一个文件//输出该流对应的文件的描述符//文件名由argv[1]参数传递#include int main(int argc, cha
//这是一个fileno函数的应用实例//调用对应的流操作函数创建一个文件//输出该流对应的文件的描述符//文件名由argv[1]参数传递#include int main(int argc, char *argv[]){  FILE  *fp;  //指向FILE对象的指针  int temp;   //存放fclose函数的返回值  int fd;     //文件描述符  if(argc != 2)   //如果参数不正确  {    printf("请输入正确的参数\n");    return 1;  }  fp = fopen( *(argv+1),"a+b"); //如果没有文件,则建立文件  if(fp == NULL)                //如果FILE为NULL则表示失败  {    printf("创建文件%s失败!", *(argv+1));    return 2;  }  else  {       printf("创建文件%s成功!\n",*(argv+1));    fd = fileno(fp);              //获得文件描述符    printf("文件%s的文件描述符是%d\n",*(argv+1),fd);    temp = fclose(fp);           //关闭文件    if(temp == 0)    {      printf("关闭文件%s完成!\n",*(argv+1));      return 0;    }    else    {      printf("关闭文件%s出错!", *(argv+1));      return 3;    }  }  }


0