文件句柄C 语言中什么是“句柄”?“文件”和“流”又有什么异同?

文件句柄  时间:2021-06-07  阅读:()

linux 文件句柄 是哪个线程打开

我想可能是这两个原因造成的: 1:你在线程中打开句柄后又关闭,那么在后面线程创建句柄时因为之前这个使用的句柄已经释放,则后面线程可以继续使用。

2:没有加线程锁的原因,前一个线程打开文件创建句柄时后一个线程也已经启动并同时创建句柄...

句柄什么意思?

句柄(handle),有多种意义,其中第一种是指程序设计,第二种是指Windows编程。

现在大部分都是指程序设计/程序开发这类。

第一种解释:句柄是一种特殊的智能指针 。

当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。

第二种解释:整个Windows编程的基础。

一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。

应用程序能够通过句柄访问相应的对象的信息,但是句柄不是指针,程序不能利用句柄来直接阅读文件中的信息。

如果句柄不在I/O文件中,它是毫无用处的。

句柄是Windows用来标志应用程序中建立的或是使用的唯一整数,Windows大量使用了句柄来标识对象。

如何从文件的句柄得到文件名,用API函数.

方法一:CFile::GetFileName,实用 方便 msdn实例 try { // try to open the file CFile sysFile(_T("C:\WINDOWS\SYSTEM.INI"), CFile::modeRead); // print out path name and title information _tprintf(_T("Path is : "%s" "), (LPCTSTR) sysFile.GetFilePath()); _tprintf(_T("Name is : "%s" "), (LPCTSTR) sysFile.GetFileName()); _tprintf(_T("Title is: "%s" "), (LPCTSTR) sysFile.GetFileTitle()); // close the file handle sysFile.Close(); } catch (CFileException* pEx) { // if an error urs, just make a message box pEx->ReportError(); pEx->Delete(); } Output Path is : "C:WINDOWSSYSTEM.INI" Name is : "SYSTEM.INI" Title is: "System" 方法二 : FileApi --GetFullPathName The GetFullPathName function retrieves the full path and file name of a specified file. DWORD GetFullPathName( LPCTSTR lpFileName, // file name DWORD nBufferLength, // size of path buffer LPTSTR lpBuffer, // path buffer LPTSTR *lpFilePart // address of file name in path ); 然后再反序查找 路径中的第一个 "\",删去"\"之前的路径。

现在想到的就这两个。

文件名柄是什么意思?简单点,我是菜鸟

你是指文件句柄吗? 记得曾有资料给出这样的解释(大意):它类似于门把手,有它你可找到“门”这个对象,就可以控制对象"门"了,但觉得把它类比于门把手似乎并不贴切,感觉象是直译句柄这个词的词意,我们知道,其实文件句柄是一个十六位长度的二进制代码(Windows95后为32位无符号整数),代表一个已被打开文件的通道号,借助于这个句柄,你的应用程序即可使用这个相应的句柄对文件进行随意存取操作,说白了文件句柄其实是一串代表着特殊含义的号码; 当然其实系统是用句柄与一些资源联系起来的,当由系统管理,动态分配给你应用程序的某些资源的代号,你就可以使用句柄访问相应的资源了,在 Windows 中,窗口可以有许多种。

窗口可以是屏幕上的一块矩形封闭区域,比如您熟悉的应用程序窗口。

窗体上的控件(例如列表框或滚动条)也可以是窗口,但并不是所有类型的控件都是窗口。

桌面上的图标和桌面本身也是窗口。

因为所有这些类型的对象都是窗口,所以 Windows 可以用类似的方式处理它们。

Windows 给每个窗口一个唯一的句柄,通过句柄操纵该窗口。

许多 API 函数可返回句柄或者接受句柄作参数。

C 语言中什么是“句柄”?“文件”和“流”又有什么异同?

从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。

ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。

ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。

由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。

例如, 数5678的存储形式为: 00010110 00101110只占二个字节。

二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。

C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。

输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。

因此也把这种文件称作“流式文件”。

fopen函数用来打开一个文件进行读写的函数。

打开由path指定的文件,返回文件的句柄 open()打开文件进行读写的函数。

打开path指定的文件,根据ess指定的模式值读写。

青果云(59元/月)香港多线BGP云服务器 1核 1G

青果云香港CN2_GIA主机测评青果云香港多线BGP网络,接入电信CN2 GIA等优质链路,测试IP:45.251.136.1青果网络QG.NET是一家高效多云管理服务商,拥有工信部颁发的全网云计算/CDN/IDC/ISP/IP-VPN等多项资质,是CNNIC/APNIC联盟的成员之一。青果云香港CN2_GIA主机性能分享下面和大家分享下。官方网站:点击进入CPU内存系统盘数据盘宽带ip价格购买地...

麻花云-香港CN2云服务器,安徽BGP线路,安徽移动大带宽!全系6折!

一、麻花云官网点击直达麻花云官方网站二、活动方案优惠码:专属优惠码:F1B07B 享受85折优惠。点击访问活动链接最新活动 :五一狂欢 惠战到底 香港云主机 1.9折起香港特价体验云主机CN2 云服务器最新上线KVM架构,,默认40G SSD,+10G自带一个IPv4,免费10Gbps防御,CPU内存带宽价格购买1核1G1M19元首月链接2核2G 2M92元/3个月链接2核4G3M112元/3个月...

Hostodo,美国独立日特价优惠,四款特价VPS云服务器7折,KVM虚拟架构,NVMe阵列,1核512M内存1Gbps带宽3T月流量,13.99美元/月,赠送DirectAdmin授权

Hostodo近日发布了美国独立日优惠促销活动,主要推送了四款特价优惠便宜的VPS云服务器产品,基于KVM虚拟架构,NVMe阵列,1Gbps带宽,默认分配一个IPv4+/64 IPv6,采用solusvm管理,赠送收费版DirectAdmin授权,服务有效期内均有效,大致约为7折优惠,独立日活动时间不定,活动机型售罄为止,有需要的朋友可以尝试一下。Hostodo怎么样?Hostodo服务器好不好?...

文件句柄为你推荐
换脸软件什么软件可以把人的视频换脸水晶易表如何在win7环境和office2010环境下成功安装水晶易表vga接口定义主板上的VGA接口有什么用?自定义表情搜狗输入法怎么添加自定义表情awv请问awv是什么样的格式啊?模式识别算法模式识别的简史印度尼西亚国家代码印尼身份证号的编码规则是什么?(比如中国的1-6位是地址代码,7-14位是出生日期码等)qq网络硬盘我QQ的网络硬盘怎么啦?谷歌图片识别如何打开PICASA头像识别功能?单元测试规范求解,单片机程序的单元测试应该怎么做呢?
免费com域名注册 100m虚拟主机 如何注册中文域名 云网数据 仿牌空间 cpanel 韩国加速器 12306抢票助手 免费ftp空间申请 免费网站申请 微信收钱 国外免费全能空间 域名接入 免费高速空间 免费申请个人网站 服务器维护 阿里云手机官网 supercache 空间申请 云销售系统 更多