C 中的 FILE 指针如何工作?

2023-12-21

如果我们写:

//in main

FILE *p = fopen("filename", "anymode");

我的问题是:什么是p指点?


文件指针p指向由 C 库处理的结构,该结构在给定的打开模式下管理指定文件的 I/O 功能。

你无法先验地判断它指向的是静态分配的内存还是动态分配的内存;你不需要知道。您将其视为不透明指针。

请注意,该标准说:

ISO/IEC 9899:2011 7.21.3 文件

地址FILE用于控制流的对象可能很重要;的副本FILE对象不需要代替原始对象。

这(粗略地)说的是:不要摆弄指针;不要乱动指针。将其传递给需要它的函数,否则就不要管它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 中的 FILE 指针如何工作? 的相关文章

  • VB.NET 相当于 C# 属性简写吗?

    是否有与 C 等效的 VB NET public string FirstName get set 我知道你能做到 Public Property name As String Get Return name ToString End Ge
  • std::cout 和 std::wcout 有什么区别?

    在c 中 有什么区别std cout and std wcout 它们都控制流缓冲区的输出或将内容打印到控制台 或者它们只是相似吗 它们作用于不同的字符类型 std cout uses char作为字符类型 std wcout uses w
  • 如何为 C 分配的 numpy 数组注册析构函数?

    我想在 C C 中为 numpy 数组分配数字 并将它们作为 numpy 数组传递给 python 我可以做的PyArray SimpleNewFromData http docs scipy org doc numpy reference
  • 将内置类型转换为向量

    我的 TcpClient 类接受vector
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • XamlReader.Load 在后台线程中。是否可以?

    WPF 应用程序具有从单独的文件加载用户控件的操作 使用XamlReader Load method StreamReader mysr new StreamReader pathToFile DependencyObject rootOb
  • 如何从 .resx 文件条目获取注释

    资源文件中的字符串有名称 值和注释 The ResXResourceReader类让我可以访问名称和值 有办法看评论吗 你应该能够得到Comment via ResXDataNode class http msdn microsoft co
  • 用于检查项目文件中的项目变量和引用路径的 api

    我正在研究一个 net application VS2010 与 x 没有 解和变量号这些解决方案中的项目数量 我需要检查项目属性 特定于一定数量的项目 是否同质 并且检查 验证构建期间的参考路径 有没有一个API是这样的吗 如果没有 我该
  • 如何在 Linq 中获得左外连接?

    我的数据库中有两个表 如下所示 顾客 C ID city 1 Dhaka 2 New york 3 London 个人信息 P ID C ID Field value 1 1 First Name Nasir 2 1 Last Name U
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 如何将整数转换为 void 指针?

    在 C 中使用线程时 我面临警告 警告 从不同大小的整数转换为指针 代码如下 include
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的
  • 英特尔 Pin 与 C++14

    问题 我有一些关于在 C 14 或其他 C 版本中使用英特尔 Pin 的问题 使用较新版本从较旧的 C 编译代码很少会出现任何问题 但由于 Intel Pin 是操作指令级别的 如果我使用 C 11 或 C 14 编译它 是否会出现任何不良
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 使用 GhostScript.NET 打印 PDF DPI 打印问题

    我在用GhostScript NET http ghostscriptnet codeplex com打印 PDF 当我以 96DPI 打印时 PDF 打印效果很好 但有点模糊 如果我尝试以 600DPI 打印文档 打印的页面会被极大地放大
  • 检查Windows控制台中是否按下了键[重复]

    这个问题在这里已经有答案了 可能的重复 C 控制台键盘事件 https stackoverflow com questions 2067893 c console keyboard events 我希望 Windows 控制台程序在按下某个
  • 如何使用 Word Automation 获取页面范围

    如何使用办公自动化找到 Microsoft Word 中第 n 页的范围 似乎没有 getPageRange n 函数 并且不清楚它们是如何划分的 这就是您从 VBA 执行此操作的方法 转换为 Matlab COM 调用应该相当简单 Pub

随机推荐

  • 枚举类

    我偶然发现了以下模式 想知道它是否有一个名字 An enum定义具体类 enum Fruits eApple eBanana 还有一个模板化的struct提供接口 template lt Fruit T gt struct SomeFrui
  • spring security注销导致NullPointerException

    一段时间以来我一直在尝试了解 spring security 除了logout方面 在查看有关 SO 的其他问题时 我觉得他们中的大多数人都面临着与会话未终止相关的问题 另一方面 我面临着完全不同的麻烦 我的安全 XML 文件配置如下
  • 无法在开发模式下使用 Facebook 应用创建 Facebook 广告素材

    我正在开发一个用于创建 Facebook 广告的 FB 应用程序 过去 我能够在开发模式下调试整个 FB 广告创建过程 但突然我开始收到此错误 但我无法找到相关文档 Request https graph facebook com v2 2
  • 布尔实例对象是否为真?

    我一直在业余时间学习 Java 有一个我似乎无法弄清楚的快速问题 此代码返回 true Boolean testBool true Boolean test testBool instanceof Object System out pri
  • WP 管理速度极慢

    我正在处理的站点 这是一个多站点 的 WP 后端需要大约 25 秒才能加载 直到昨天一切都工作正常 前端仍然工作得很好 同一服务器上的所有其他站点都运行得同样好 因此这一定是 WP 后端问题 我不记得到底是什么变化导致它如此缓慢 我记得最近
  • Python CSV - 需要对按另一列中的值分组的列中的值进行求和

    我的 csv 中有数据需要解析 看起来像 Date Name Subject SId Mark 2 2 2013 Andy Cole History 216351 98 2 2 2013 Andy Cole Maths 216351 87
  • 在C语言中如何读取scanf直到EOF?

    我有这个 但是一旦它到达假定的 EOF 它就会再次重复循环和 scanf int main void char words 16 while scanf 15s words 1 printf s n words return 0 Try w
  • 在 MVC Web 应用程序上实施 FCM(Firebase 云消息传递)

    我正在开发一个 MVC Web 应用程序 该应用程序将为人们提供一个销售产品的平台 并允许人们搜索查看这些产品 我不知道 Firebase FCM 可以提供哪些功能 所以我的两个问题是 是否可以将 FCM 添加到 MVC 应用程序 以便在事
  • Android应用程序实时录制声音并识别频率

    我需要开发一个应用程序来使用手机麦克风实时记录频率 然后显示它们 以文本形式 我在这里发布我的代码 FFT 和复数类已从http introcs cs princeton edu java 97data FFT java html http
  • 为什么使用archiver.file模块压缩文件时出现“队列关闭错误”

    我正在尝试使用 archiver 在 Node js 中以 zip 形式下载多个文件 这是我的代码 exports downloadAllFiles function req res var archive archiver zip gzi
  • 使用 ADO.NET 时如何最好地显示进度信息?

    我想在执行可能很长的数据库操作时向用户显示详细的进度信息 具体来说 当插入 更新可能约为数百 KB 或 MB 的数据时 目前 我使用内存中的 DataTables 和 DataRows 然后通过 TableAdapter Update 调用
  • Unix 上的文件修改时间(秒)

    在Unix上 有没有命令可以显示文件的修改时间 精确到秒 在 Linux 上 这可以通过 stat c y 轻松完成 它返回类似的内容2009 11 27 11 36 06 000000000 0100 我在 Unix 上没有找到类似的东西
  • 为什么 Perl 在释放大数组时不进行垃圾回收内存?

    我知道 Perl 使用基于引用计数的垃圾收集 当变量超出范围时 引用计数会递减 如果 REFcount 变为 0 则会取消分配内存 但是 当我跟踪如下所示的一个小示例时 我无法发现取消分配的情况 print start sub func m
  • startIntentSenderForResult 已弃用 Android

    代码片段 private fun requestHint val hintRequest HintRequest Builder setPhoneNumberIdentifierSupported true build val creden
  • 从 Google 服务帐户模拟 Azure 服务主体

    我想使用 Google 服务帐户 JWT 令牌获取 Azure 服务主体 SP 的临时凭据 这是从 GKE 工作负载调用 Azure API 所必需的 而无需在 GKE 中存储长期 SP 凭据 这种联合对于 GCP gt Azure 是否可
  • 调用 CLR 存储过程

    简而言之 在哪里可以找到 C VB 客户端示例代码 该代码使用一些 argumnet 如 sqlxml 数据 调用 CLR 存储过程并接收数据读取器或其他形式的结果 另外 如何定期接收通过 SQlContext Pipe Send 方法发送
  • 为什么 Seq.newBuilder 返回 ListBuffer?

    看着 val sb Seq newBuilder Int println sb getClass getName sb 1 sb 2 val s sb result println s getClass getName 输出是 scala
  • 分布式分析系统数据一致性的架构设计

    我正在重构一个将进行大量计算的分析系统 并且我需要一些关于可能的架构设计的想法来解决我面临的数据一致性问题 当前架构 我有一个基于队列的系统 其中不同的请求应用程序创建最终由工作人员使用的消息 Each 请求应用程序 将大型计算分解为较小的
  • Parse.com 失败:ReferenceError

    我正在尝试在 Cloud Code 中运行以下解析后台作业 Parse Cloud job sendAlert function sendAlert Parse Push send data content available 1 succ
  • C 中的 FILE 指针如何工作?

    如果我们写 in main FILE p fopen filename anymode 我的问题是 什么是p指点 文件指针p指向由 C 库处理的结构 该结构在给定的打开模式下管理指定文件的 I O 功能 你无法先验地判断它指向的是静态分配的