文件句柄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云服务器,安徽BGP线路,安徽移动大带宽!全系6折!

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

Friendhosting 黑色星期五 VDS/VPS可享四五折优惠促销

Friendhosting商家在前面的篇幅中也又陆续介绍到,是一家保加利亚主机商,主要提供销售VPS和独立服务器出租业务,数据中心分布在:荷兰、保加利亚、立陶宛、捷克、乌克兰和美国洛杉矶等。这不近期黑色星期五活动,商家也有推出了黑五优惠,VPS全场一次性45折,虚拟主机4折,全球多机房可选,老用户续费可获9折加送1个月使用时长,VDS折后最低仅€14.53/年,有需要的可以看看。Friendhos...

ReliableSite:美国服务器租用,洛杉矶/纽约/迈阿密等机房;E3-1240V6/64GB/1TSSD,$95/月

reliablesite怎么样?reliablesite是一家于2006年成立的老牌美国主机商,主要提供独服,数据中心有迈阿密、纽约、洛杉矶等,均免费提供20Gbps DDoS防护,150TB月流量,1Gbps带宽。月付19美金可升级为10Gbps带宽。洛杉矶/纽约/迈阿密等机房,E3-1240V6/64GB内存/1TB SSD硬盘/DDOS/150TB流量/1Gbps带宽/DDOS,$95/月,...

文件句柄为你推荐
cpu监控电脑硬件监控软件有哪些?cpu监控CPU检测软件有哪些 5款CPU检测工具介绍 (oa办公系统下载完全免费的oa办公系统人肉搜索引擎人肉搜索引擎是干什么的?小四号字word里的小四号字在Photoshop里是指多少点字体?印度尼西亚国家代码手机上的国家代码是什么熊猫烧香病毒下载熊猫烧香病毒?qq网络硬盘怎么用qq网络硬盘遗传算法实例如何用C语言实现遗传算法的实际应用?assemblyinfo关于ASP.NET中使用log4net记录日志
长春域名注册 息壤主机 电影服务器 火车票抢票攻略 地址大全 web服务器架设软件 嘉洲服务器 免费网站申请 七夕快乐英文 秒杀汇 ftp免费空间 空间登录首页 东莞idc 阿里云官方网站 国内域名 中国linux 主机返佣 免费稳定空间 带宽测试 新疆服务器 更多