文件句柄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指定的模式值读写。

易探云:香港CN2云服务器低至18元/月起,183.60元/年

易探云怎么样?易探云最早是主攻香港云服务器的品牌商家,由于之前香港云服务器性价比高、稳定性不错获得了不少用户的支持。易探云推出大量香港云服务器,采用BGP、CN2线路,机房有香港九龙、香港新界、香港沙田、香港葵湾等,香港1核1G低至18元/月,183.60元/年,老站长建站推荐香港2核4G5M+10G数据盘仅799元/年,性价比超强,关键是延迟全球为50ms左右,适合国内境外外贸行业网站等,如果需...

极光KVM美国美国洛杉矶元/极光kvmCN7月促销,美国CN2 GIA大带宽vps,洛杉矶联通CUVIP,14元/月起

极光KVM怎么样?极光KVM本月主打产品:美西CN2双向,1H1G100M,189/年!在美西CN2资源“一兆难求”的大环境下,CN2+大带宽 是很多用户的福音,也是商家实力的象征。目前,极光KVM在7月份的促销,7月促销,美国CN2 GIA大带宽vps,洛杉矶联通cuvip,14元/月起;香港CN2+BGP仅19元/月起,这次补货,机会,不要错过了。点击进入:极光KVM官方网站地址极光KVM七月...

香港、美国、日本、韩国、新加坡、越南、泰国、加拿大、英国、德国、法国等VPS,全球独立服务器99元起步 湘南科技

全球独立服务器、站群多IP服务器、VPS(哪个国家都有),香港、美国、日本、韩国、新加坡、越南、泰国、加拿大、英国、德国、法国等等99元起步,湘南科技郴州市湘南科技有限公司官方网址:www.xiangnankeji.cn产品内容:全球独立服务器、站群多IP服务器、VPS(哪个国家都有),香港、美国、日本、韩国、新加坡、越南、泰国、加拿大、英国、德国、法国等等99元起步,湘南科技VPS价格表:独立服...

文件句柄为你推荐
换脸软件有什么p图软件可以换脸excel计算公式求excel计算公式大全chrome系统Chrome OS是什么系统?搜索引擎的概念搜索引擎营销的概念是什么?什么是生态系统生态系统的结构是什么什么是生态系统生态系统的功能有什么?xcelsius谁有水晶易表2008的密钥?腾讯贴吧腾讯论坛里找自己发的帖腾讯贴吧QQ应该有贴吧的吧?那怎样进QQ贴吧?在(=@__@=)哪里?人脸识别解锁手机解锁的人脸识别怎么设置
域名出售 安徽双线服务器租用 火山主机 亚洲大于500m sugarsync 香港cdn l5520 iis安装教程 win8升级win10正式版 css样式大全 免费全能空间 我爱水煮鱼 空间出租 腾讯云分析 刀片式服务器 双11秒杀 服务器托管什么意思 国外视频网站有哪些 网购分享 服务器维护 更多