文件指针和文件描述符之间的相互转换 fd----fp 和 fp----fd

From: http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552011625112831213/

文件指针---->文件描述符:                          //   fp ----> fd

FILE *fp = NULL;

fp  = fopen("/home/billchen/test.txt","r");               //得到文件描述符

if (fp == NULL)

{

           perror("open file error:");

           exit(1);

}

else

{

           //成功

}

将fp转换成文件描述符:

int   fd ;

fd  =  fileno(fp);

文件描述符---->文件指针:                          //   fd---->fp

int  fd;

fd   =  open("/home/billchen/test.txt",O_CREAT|O_RDWR,0666);

if ( fd == -1 )

{

          perror("open file error:");

          exit(1);

}

else

{

          //成功

}

将fd转换成文件指针:

FILE *fp = NULL;

fp = fdopen(fd);

=============================================================================================

总结:

int fd;

FILE *fp;

fd = fileno(fp);

fp = fdopen(fd, "r");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405254.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux3.0-内核自带led驱动移植

********************************************************************************************************************************************************************************** cpu : s3c2440(arm9) linux内核:linux-3.0 开发板 &am…

树莓派使用STEP3:更换镜像源

更换国内镜像源,这里使用中科大的源,软件下载和更新速度更快。 1、sudo nano /etc/apt/sources.list 2、sudo nano /etc/apt/sources.list.d/raspi.list 3、sudo apt-get update && apt-get upgrade

[react] 在React中你有经常使用常量吗?

[react] 在React中你有经常使用常量吗? 在写react应用的时候,在结合redux 处理react 应用层中的数据层的时候, 会单独写一个actionType文件,这个文件中定义的都是常量,这样写的好处是,单纯的引入字符串内容&#xff0…

深入理解Javascript闭包

收藏 最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。 一、什么是闭包? “官…

移动Oracle的用户表空间文件方法

原文:http://www.linuxidc.com/Linux/2014-07/104702.htm 1、以sys用户登录 sqlplus /nologSQL>connect sys/null as sysdba; 2、使表空间脱机SQL>alter tablespace TABS offline normal; 3、将表空间数据文件复制到比较空闲的磁盘 4、修改表空间文件指…

bash删除文件中含指定内容的行

#!/bin/sh # 功能: 删除文件中含"指定内容"的行 # 运行方式: ./dline.sh c.log > 产生输出文件: c.log0array("rm -f lvr_3531_pf_new""arm-hisiv100-linux-gcc ""In function ""excess elements in array initializer"…

四线电阻屏

http://www.cnblogs.com/liu_xf/archive/2011/05/11/2043550.html

树莓派使用STEP4:安装vim

系统原装的vi操作对新手和学习者不友好,可以用nano编辑器,因为我比较熟悉vi和vim,这里推荐使用vim。首先需要删除原装的vi,然后重新安装新的vim,过程比较简单。 1、卸载预装的vi sudo apt-get remove vim-common 2、…

[WCF安全系列]绑定、安全模式与客户端凭证类型:NetNamedPipeBinding、NetTcpBinding与NetMsmqBinding...

在前面两篇(《绑定、安全模式与客户端凭证类型:BasicHttpBinding》和《绑定、安全模式与客户端凭证类型:WSHttpBinding与WSDualHttpBinding》)中,我们详细地介绍了四种基于HTTP的绑定分别支持的安全模式,已…

手机测试pc端网页

在这个问题上徘徊了 一个钟头了,终于被我找到方法了,就赶紧记下来,以后好查阅!! 主要问题在防火墙,防火墙阻当了80端口,所以怎么用手机访问都是访问不了的。把防火墙关闭就好了! 贴上…

[react] 为什么说React中的props是只读的?

[react] 为什么说React中的props是只读的? React 组件都必须像纯函数一样保护它们的 props 不被更改。 将react组件理解成纯函数,数据流驱动,参数传入不允许做更改 扩展 : state内容可以更改,但是不允许直接赋值,需要借助setState props用于定义外部接口&#xff0c…

[bash] printf使用范例

#!/bin/shfunction get_file_size() {line${1:1:${#1}-2}fname${line%%:*} # 取:之前的部分size${line#* } # 取 之后的部分 }function getRuntime() {line${1#*}rtime${line//[^0-9.]/} }dos2unix log.log > /dev/null 2>&1printf "序号\t\t录像文件\t大小(KB…

树莓派使用STEP5:安装samba文件共享服务器

samba服务器可以在多平台多操作系统搭建文件服务器,用于共享文件。为了方便windows和树莓派交换文件,将samba服务器的搭建过程记录如下。 1、安装samba服务器。 sudo apt-get install samba samba-common-bin 出现以下提示:Modify smb.conf…

Silverlight学习日记(三)

初学Silverlight记录下一些基础知识; 应用程序生存期管理 你可以在应用程序生存期的以下各点向应用程序类添加代码: 1.应用程序类构造函数; 您可以向应用程序类构造函数添加代码,以执行基本初始化任务,例如&#xff0c…

ETH—Lwip以太网通信

第39章 ETH—Lwip以太网通信 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 互联网技术对人类社会的影响不言而喻。当今大部分电子设备都能以不同的方式接入互联网(Inter…

递归删除指定目录下的指定类型文件和目录

del.bat: echo offset olddir%cd% set pwdD:\Desktop\platform_x2 cd %pwd% del /s /q *.o *.d for /r %pwd% %%a in (.svn) do rd /s/q "%%a" cd %olddir%上面的脚本实现了删除指定目录下的 所有*.o, *.d文件,以及 所有".svn"目录。

计算从A地出发到各个地方的路径及距离

数据库环境:SQL SERVER 2005 如题,现有bus表数据如下,dstart是起点,dend是终点,distance是两地的距离。 求从A地出发到各个地方的距离。 有经验的人一看,就知道题目关于树形查询的。SQL SERVER 2005数据库…

发送邮件时,如何附带上中文等价名信息

1******发送人在邮箱中显示中文等价名****** 2Dim item As NotesItem 3Dim v As Variant 4Dim s As String 5Set item maildoc.AppendItemValue( "$LangFrom", "zh-CN" ) 给$LangFrom赋值 6s"UserNamesList" 7vEvaluate(s) 8maildoc.AltFromv…

树莓派使用STEP6:安装git

git用于创建和管理代码仓,是一个很优秀的版本控制工具。linux/树莓派安装非常简单。 1、sudo apt-get install git-core

[react] 如果组件的属性没有传值,那么它的默认值是什么?

[react] 如果组件的属性没有传值,那么它的默认值是什么? 如果某一个prop并没有初始化值,那么在没有设置默认值的情况下,是会直接返回undefined的,如果有默认值,那么就会返回默认值 个人简介 我是歌谣&am…