iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下文件标述符和文件指针的示例分析
  • 775
分享到

Linux下文件标述符和文件指针的示例分析

2023-06-09 15:06:51 775人浏览 薄情痞子
摘要

这篇文章主要介绍了linux下文件标述符和文件指针的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   Linux下的文件标述符和文件指针文件标识

这篇文章主要介绍了linux下文件标述符和文件指针的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

   Linux下的文件标述符和文件指针

文件标识符:

首先我们来了解一下文件标识符是什么东西?

文件描述符是计算机科学中的一个术语,是一个用于表述只想文件的引用的抽象化概念。

在linux当中,每个进程会在进程控制块(PCB)当中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表都有一个指

向已经打开文件的指针。

每个linux进程都应该有三个标准的文件描述符,对应三个标准流。

整数值名称(unistd.h)符号常量(stdio.h)文件流
0Standard inputSTDIN_FILENOstdin
1Standard outputSTDOUT_FILENOstdout
2Standard errorSTDERR_FILENOstderr

文件描述符在形式上是一个非负整数,实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程

序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围

绕着文件描述符展开。但是文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统

与文件描述符相关的操作:

功能操作
文件描述符生成open()、Socket()、pipe()等
与单一文件描述符相关的操作read()、write()、send()、fchmod()等
与复数文件描述符相关的操作select()、poll()等
与文件描述符表相关度的操作close()、dup()等

文件指针:

文件指针是C语言当中我们所学习的东西,C语言当中用一个指针变量指向一个文件,这个指针就被称为文件指针。通过文件指针我们可以对所指的文件进行各种的操作。C语言当中使用的是文件指针而不是文件描述符做为I/O的句柄。文件指针指向进程用户区中的一个被称为FILE结构的数据结构。FILE结构包含一个缓冲区和一个文件描述符。

文件指针式C语言的通用的格式,所以相对来说,更加便于移植.

我们通常来获取文件指针:

FILE *fp = fopen("test.txt","r");

获取到指针以后,我们就可以获得指针当中文件描述符的信息。

文件描述符是唯一的,但是文件指针不是唯一的,文件指针指向的对象是唯一的。

文件标述符和文件指针的转换:

int fileno(FILE *stream);FILE *fdopen(int fd,const char *mode);

fdopen第一个参数是一个打开的文件描述符,mode是表示打开方式的字符串,和fopen相同,比如说“w”或者“r”.

fileno函数,它返回和文件流对应的文件描述符,失败返回-1。

感谢你能够认真阅读完这篇文章,希望小编分享的“Linux下文件标述符和文件指针的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网操作系统频道,更多相关知识等着你来学习!

--结束END--

本文标题: Linux下文件标述符和文件指针的示例分析

本文链接: https://www.lsjlt.com/news/256676.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下文件标述符和文件指针的示例分析
    这篇文章主要介绍了Linux下文件标述符和文件指针的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   Linux下的文件标述符和文件指针文件标识...
    99+
    2023-06-09
  • Linux下垃圾文件的示例分析
    这篇文章主要介绍Linux下垃圾文件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux 计算机安装后,在我们不断的使用过程中,因为添加、删除软件和上网冲浪、调试程序等行为,硬盘中会产生各种各...
    99+
    2023-06-12
  • linux驱动之Kconfig文件和Makefile文件的示例分析
    小编给大家分享一下linux驱动之Kconfig文件和Makefile文件的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!linux 驱动之Kconfig文件和Makefile文件实例在Linux编写驱动的过程中,...
    99+
    2023-06-09
  • Linux下常见文件系统的示例分析
    这篇文章主要介绍了Linux下常见文件系统的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。历史文件系统创建者创建时间最开始支持的平台ext2Ré...
    99+
    2023-06-16
  • linux中ELF文件的示例分析
    这篇文章给大家分享的是有关linux中ELF文件的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。示例程序我们的示例程序如下:#include<stdio.h> int ma...
    99+
    2023-06-16
  • Linux文件权限的示例分析
    这篇文章主要介绍了Linux文件权限的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何...
    99+
    2023-06-27
  • js下载文件并修改文件名的示例分析
    这篇文章主要介绍了js下载文件并修改文件名的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用js下载文件,使用<a>标签...
    99+
    2024-04-02
  • CentOS中文件通配符的示例分析
    这篇文章给大家分享的是有关CentOS中文件通配符的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。*:匹配零个或多个字符    ?:匹配任意单个字符 &n...
    99+
    2023-06-10
  • Linux系统DNS文件的示例分析
    这篇文章将为大家详细讲解有关Linux系统DNS文件的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。DNS一般指域名系统。DNS是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库...
    99+
    2023-06-28
  • System.map文件的示例分析
    小编给大家分享一下System.map文件的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!有关System.map文件的信息好象很缺乏。其实它一点也不神秘,并且在整个事情当中它并不象看上去那么得重要。但是由于缺乏必...
    99+
    2023-06-27
  • Linux下sudo及其配置文件/etc/sudoers的示例分析
    这篇文章给大家分享的是有关Linux下sudo及其配置文件/etc/sudoers的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。详解Linux下的sudo及其配置文件/etc/sudoers的详细配置1...
    99+
    2023-06-09
  • Linux系统备份文件的示例分析
    这篇文章的内容主要围绕Linux系统备份文件的示例分析进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!一、备份服务器配置rsync文件 vi /etc...
    99+
    2023-06-28
  • Linux文件系统权限的示例分析
    小编给大家分享一下Linux文件系统权限的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!理解 ls 命令的输出在讨论如何修改权限之前,我们需要知道如何查看权限。通过 ls 命令的长列表参数(-l)为我们提供了有关文...
    99+
    2023-06-16
  • Retrofit+Rxjava下载文件进度的示例分析
    这篇文章主要为大家展示了“Retrofit+Rxjava下载文件进度的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Retrofit+Rxjava下载文件进度的示例分析”这篇文章吧。准备...
    99+
    2023-05-30
    retrofit rxjava
  • Nodejs文件操作和stream的示例分析
    小编给大家分享一下Nodejs文件操作和stream的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!NodeJS文件操作...
    99+
    2024-04-02
  • python源文件中字符编码的示例分析
    这篇文章将为大家详细讲解有关python源文件中字符编码的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Pyth...
    99+
    2023-06-14
  • Linux文件属性与权限的示例分析
    这篇文章将为大家详细讲解有关Linux文件属性与权限的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所...
    99+
    2023-06-27
  • Linux中搜索文件命令的示例分析
    小编给大家分享一下Linux中搜索文件命令的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!文件搜索命令locate:搜索快,新建文件无法搜索;命令格式: ...
    99+
    2023-06-09
  • linux系统中文件I/O的示例分析
    小编给大家分享一下linux系统中文件I/O的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!linux 文件I/O一,文件描述符对内核而言,所以打开的文件...
    99+
    2023-06-13
  • Linux上无痛文件提取的示例分析
    小编给大家分享一下Linux上无痛文件提取的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!它们有很多格式,从 .gz 到  .tbz2,这些文件...
    99+
    2023-06-15
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作