Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >保存/复制文件指针/描述符

保存/复制文件指针/描述符
EN

Stack Overflow用户
提问于 2012-05-22 05:36:43
回答 3查看 1.6K关注 0票数 0

我有一个需求,其中有一个全局 FILE指针/描述符。其中一个函数将从这个指针/描述符中读取。与指针/描述符关联的内部指针前进。在此函数返回后,我希望从同一个FILE 指针/描述符读取相同的数据,以及与其他函数读取的数据相同的.

但是,我无法读取相同的确切数据,因为内部指针已经前进。复制描述符不起作用,因为复制反映了原始的。在读取之前保存FILE指针也不起作用,因为它是一个指针,并且将再次开始引用相同的内容。

另一种方法是在读取前使用fgetpos()保存文件位置,在下次读取之前使用fsetpos()保存文件位置。

但这适用于文件指针,而不是描述符。

有了普通的指点就这么容易了。但是有了FILE指针,事情就变得很困难。

还有其他不笨拙的方法来实现这一点吗?

EN

回答 3

Stack Overflow用户

发布于 2012-05-22 05:40:03

如果您指的是POSIX文件描述符,听起来就像是在寻找lseek()

代码语言:javascript
运行
AI代码解释
复制
off_t off;

off = lseek(fd, 0, SEEK_CUR); /* get current offset */
/* do some read(s) */
lseek(fd, off, SEEK_SET);
票数 1
EN

Stack Overflow用户

发布于 2012-05-22 05:46:21

另一个选择是使用mmap()对文件进行内存映射。

这将允许您随意读取文件中的任何位置,而不必使用lseek()fseek()

您可以在mmap()上找到一个关于linuxquestions问题的简短教程

票数 0
EN

Stack Overflow用户

发布于 2012-05-22 06:50:13

根据您的描述,我会将该文件指针隐藏在另一个接口后面,该接口缓冲最后读取的数据块,这样代码的不同区域就可以访问相同的数据,而不必将流倒带。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10703189

复制
相关文章
解读文件描述符
最近由于机缘巧合,结合最近工作中遇到的一些问题,深入了解了文件描述符(File Descriptor,简称FD,以下使用 FD 称谓)。预计会有两到三篇关于 FD 的文章陆续出来。首篇也就是这篇,作为基础篇,介绍一些关于通用 FD 的内容知识。
技术小黑屋
2020/01/21
1.5K0
文件句柄与文件描述符
1.概述 在实际工作中会经常遇到一些bug,有些就需要用到文件句柄,文件描述符等概念,比如报错: too many open files, 如果你对相关知识一无所知,那么debug起来将会异常痛苦。在Linux操作系统中,文件句柄(包括Socket句柄)、打开文件、文件指针、文件描述符的概念比较绕,而且windows的文件句柄又与此有何关联和区别?这一系列的问题是我们不得不面对的。 这里先笼统的将一下自己对上面的问题的一些理解: 句柄,熟悉Windows编程的人知道:句柄是Windows用来标识被应用程序
用户1263954
2018/01/30
5.1K0
文件句柄与文件描述符
文件描述符限制
Linux的核心思想之一就是”一切皆文件”。即Linux中所有的内容都是以文件的形式保存和管理的,它为不同类型的文件提供了统一的操作接口,对于不同类型的文件,我们都可以使用fopen()/fclose()/fwrite()/fread()等对这些文件进行读写处理。在Linux中,普通文件、目录、链接文件、字符设备、块设备以及网络套接字等等都以文件的形式存在。
changan
2020/11/04
1.8K0
文件描述符详解
在 32 位的 linux/unix 系统下,每个程序打开一个文件都会有一段 4G 的虚拟地址空间,这部分空间中,有1G是内核地址空间,3G是用户地址空间,这个概念我们在之前的文章中有介绍过,可参考 “不同位置的变量在内存中的排布”,其中在内核地址空间中,维护着一个 PCB 进程控制块,其中包含很多进程相关的信息,比如进程ID、用户ID、组ID等等,但本文我们最关注的,是 PCB 进程控制块中维护的一份“文件描述符表”,表的格式抽象成下图的样子。
我与梦想有个约会
2023/10/20
2050
文件描述符详解
[一]FileDescriptor文件描述符 标准输入输出错误 文件描述符
当应用程序请求打开或者操作文件时,操作系统为应用程序设置一张文件列表,具体的实现形式此处不深入说明
noteless
2018/09/11
2K0
[一]FileDescriptor文件描述符 标准输入输出错误 文件描述符
Linux编程(文件描述符)
在Linux编程世界中,不可能没听过文件描述符这个概念,我们操纵任何设备的时候,几乎都要通过它来达成的,它究竟是何方神圣呢?随我描述符科学家来一探究竟。
用户2617681
2019/08/08
1.7K0
Linux 文件描述符详解
了解Linux怎样处理输入和输出是非常重要的。一旦我们了解其原理以后,我们就可以正确熟练地使用脚本把内容输出到正确的位置。同样我们也可以更好地理解输入重定向和输出重定向。
GH
2021/03/18
2.5K0
Linux 文件描述符详解
[Python笔记] 文件指针
文件指针式指向当前字节的位置,当mode=r时,指针起始在0;mode=a时,指针起始位置在EOF。
行 者
2019/12/05
7410
[翻译]Android教程-保存数据-保存文件
http://developer.android.com/training/basics/data-storage/files.html
LeoXu
2018/08/15
2.7K0
文件IO(文件指针)
有人总是以为所谓的文件指针就是一个指向文件的指针,其实文件指针是一种指向类型为FILE结构体的指针,只不过这个结构体内部包含了代表文件的描述符而已。
用户2617681
2019/08/08
1.1K0
Linux内核编程--文件描述符
在Linux操作系统中,一切皆是文件—— "Everything is a file"。
Coder-ZZ
2022/05/09
2.9K0
Linux内核编程--文件描述符
小程序复制文字及保存图片
复制文字 @click=‘copywx’ // 复制微信号 copywx(){ var that = this; wx.setClipboardData({ data: 'wx:123456', success(res){ wx.showToast({ title: '复制成功', }) } }) } 长按保存图片 @longpress=
我不是费圆
2021/09/07
1.1K0
文件描述符与socket连接(上)
在Linux系统中一切皆可以看成是文件,文件又可分为:普通文件、目录文件、链接文件和设备文件。
陈不成i
2021/05/25
2.1K1
文件描述符与socket连接(下)
1.进程级的文件描述符表 2.系统级的打开文件描述符表 3.文件系统的i-node表
陈不成i
2021/05/25
1.3K0
复制含有随机指针节点的链表
Node类中的value是节点值, next指针和正常单链表中next指针的意义一 样, 都指向下一个节点, rand指针是Node类中新增的指针, 这个指针可 能指向链表中的任意一个节点, 也可能指向null。 给定一个由Node节点类型组成的无环单链表的头节点head, 请实现一个 函数完成这个链表中所有结构的复制, 并返回复制的新链表的头节点。 进阶:不使用额外的数据结构, 只用有限几个变量, 且在时间复杂度为 O(N)内完成原问题要实现的函数。
大学里的混子
2019/02/19
4940
【C++】This指针和复制构造函数
在声明一个类的时候,是没有分配存储空间的,只有在真正定义一个对象的时候,程序才会为这个对象分配相应的存储空间。 如果定义了多个对象,这些对象都有自己的存储空间,但是这些对象都是用相同的成员方法的。
谙忆
2021/01/21
8620
进程间传递文件描述符fd
众所周知,子进程会继承父进程已经打开的文件描述符fd,但是fork之后的是不会被继承的,这个时候是否无能无力了?答应是NO。Linux提供了一个系统调用sendmsg,借助它,可以实现进程间传递文件描述符fd,而且不仅限于父进程到子进程。sendmsg函数的原型如下:
一见
2018/08/10
4.1K0
【Linux】基础IO_文件描述符
在前文中学习了open函数,我们知道open函数的返回值就是文件描述符,本章将对文件描述符进行详细讲解。
诺诺的包包
2023/05/04
1.4K0
【Linux】基础IO_文件描述符
文件保存搜索技巧
最好是 大项目-小标题-日期-版本 例如 潘鑫博客-网站备份-20160301-1.0.rar 还有下载的文件,许多命名更是和乱码一样,规范命名,只是暂时麻烦点,但以后找起来方便不止一倍
P轴
2022/11/18
1.4K0
点击加载更多

相似问题

文件描述符复制

11

复制epoll文件描述符

23

复制文件指针?

30

交替使用文件指针和文件描述符

11

从文件描述符中获取文件指针

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档