复制二进制文件的内容

2023-12-22

我正在设计一个图像解码器,作为第一步,我尝试复制使用 c.即打开文件,并将其内容写入新文件。下面是我使用的代码。

while((c=getc(fp))!=EOF)
  fprintf(fp1,"%c",c);

其中 fp 是源文件,fp1 是目标文件。 程序执行时没有任何错误,但图像文件(“.bmp”)未正确复制。我观察到复制的文件大小较小,只有 20% 的图像可见,其他都是黑色的。当我尝试使用简单的文本文件时,副本已完成。

你知道问题是什么吗?


确保变量的类型c is int, not char。换句话说,发布更多代码。

这是因为EOF常量通常为 -1,如果您将字符读取为char- 大小的值,每个字节0xff将看起来像 EOF 常量。随着额外的位int;有空间将两者分开。

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

复制二进制文件的内容 的相关文章

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • Clang 3.1 + libc++ 编译错误

    我已经构建并安装了 在前缀下 alt LLVM Clang trunk 2012 年 4 月 23 日 在 Ubuntu 12 04 上成功使用 GCC 4 6 然后使用此 Clang 构建的 libc 当我想使用它时我必须同时提供 lc
  • 关于 C++ 转换:参数 1 从“[some_class]”到“[some_class]&”没有已知的转换

    我正在研究 C 并且遇到了一个错误 我不知道确切的原因 我已经找到了解决方案 但仍然想知道原因 class Base public void something Base b int main Base b b something Base
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 重载<<的返回值

    include
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定

随机推荐

  • Java-泽西岛、JAX RS

    我有一些开发 Java 程序的经验 然而 我一直很难理解一些基础知识 例如构成 Java 企业应用程序的所有不同组件 例如 我已经实现了从 J2ME 应用程序使用的基于 RESTful 和 SOAP 的 Web 服务 并为我的 MSC 执行
  • 从 Java 访问元组的奇怪行为

    我正在寻找关于我在 Java 访问在 Scala 中创建的元组中发现的非常奇怪的行为的解释和 或版本控制详细信息 如果可能 我将通过我所做的简单测试来展示奇怪的行为 我创建了这个 Scala 类 class Foo def intsNull
  • 在 SQLAlchemy 中插入时处理重复的主键(声明式风格)

    我的应用程序使用范围会话和 SQLALchemy 的声明式风格 这是一个网络应用程序 许多数据库插入都是由Celery 任务调度程序 通常 当决定插入对象时 我的代码可能会执行以下操作 from schema import Session
  • NSTask 启动路径不可访问。在 Xcode 中工作。 XCode 显示错误

    好的 关于堆栈溢出有几个与此相关的问题 这是唯一的问题 https stackoverflow com questions 8254680 nstask only returning standarderror in release bui
  • 谷歌数据流防火墙规则/网络标记

    我正在尝试从谷歌数据流批处理连接到cassandra 具有防火墙规则标签 此外数据流服务将创建带有 数据流 标记的工作人员 是否可以更改默认标签 或者添加更多标签 我认为目前无法更改数据流服务创建虚拟机所用的标签 但是 可以通过指定参数来控
  • 访问子表单数据表仅返回 1 个结果

    我知道这个问题已经以某种形式或方式被多次提出 但我无法找到有效的解决方案 这让我发疯 我正在 Access 中创建一个搜索表单 该表单通过 VBA 执行选择查询来查找表中的数据 到目前为止 这非常简单 查询有效 并且表单返回结果 问题是我正
  • Jenkins 管道可以有可选的输入步骤吗?

    是否可以创建带有可选输入阶段的 Jenkins 管道 下面的代码片段没有实现这个目标 预期行为 该阶段 以及输入提示 应该仅针对特定分支运行 实际行为 此阶段适用于所有分支机构 使用输入步骤时 when 过滤器将被忽略 stage Appr
  • 如何在OPenCV中计算32位浮点图像的图像直方图

    我想计算图像像素类型为 32F 32 位浮点 的直方图 calcHist 函数的参数值应该是什么 变暗 垃圾箱 范围 嗯 我已经这样做过很多次了 像这样 cv Mat matSrc this is a CV 32FC1 normalised
  • TFS项目可以互相引用吗?

    我最近开始在一个企业软件环境中工作 其中有数百个不同的应用程序 所有这些应用程序都局限于自己的 孤岛 我的任务之一是尝试将事情标准化一点 第一个尝试将是标准事件日志记录 目前 该公司的 标准 是 每个人都应该使用企业库进行日志记录 这实际上
  • z-index 在 ipad 上不能很好地工作

    我正在为朋友建立一个网站 http pasionesargentas com sm http pasionesargentas com sm 与带缩略图翻转的全屏图库 http tympanus net codrops 2011 02 09
  • css div高度100%问题?

    我想要一个 div 占据所有屏幕高度 这就是为什么我找到以下链接 http www webmasterworld com forum83 200 htm http www webmasterworld com forum83 200 htm
  • 重用PreparedStatement中的参数?

    我将一个参数传递给一个PreparedStatement 如下所示 public void getNodes String runId File file Connection conn PreparedStatement ps null
  • 我可以在 QNX 上使用 Java 吗?

    我必须侍奉两个主人 一个项目预计在 v1 0 后将一分为二 它最初是一个使用 FreeRTOS 用 C 语言编码的简单嵌入式项目 直到 v1 0 为止 后来 一位大师说我们必须使用QNX来取悦合作伙伴 否则就会失去交易 而另一位大师则说我们
  • 在 rmarkdown 中创建模板

    我正在尝试创建自定义模板 但它不会显示 我已经尝试跟随https bookdown org yihui rmarkdown template struct html https bookdown org yihui rmarkdown te
  • Power Query 为空时上移值

    目前 我在 Excel 中有一个大表 我想将其与动态下拉列表 级联选项 一起使用 根据您在第一个下拉菜单中所做的选择 然后在下一个单元格中 您应该有一个经过筛选的下拉菜单 此外 任何选项对于所选的主类别都是唯一的 我做的第一件事是获取我需要
  • fsock:无法找到套接字传输“http”

    我想用 fsock 发送后变量 但是当我尝试这个时 post arr array a gt b addr http 1 2 3 4 confirmation html fp fsockopen addr 80 errno errstr 30
  • 使用 CloudFormation 添加对 AWS websocket API 的集成响应

    AWS recently released Cloudformation support for templating websocket API gateways https aws amazon com about aws whats
  • JFreechart 中漂亮的饼图

    是否有可能在 JFreechart 中为饼图获得复杂 漂亮的颜色 我的意思是我怎样才能获得如图所示的颜色link http upload wikimedia org wikipedia commons b bf Ml wiki photo
  • SVG 错误:访问属性“someFunction”的权限被拒绝

    请看一下这个小提琴 http jsfiddle net arasbm Tyxea 14 http jsfiddle net arasbm Tyxea 14 正如你所看到的 我想在 SVG 元素上触发事件时对其进行转换 您可以单击箭头 它应该
  • 复制二进制文件的内容

    我正在设计一个图像解码器 作为第一步 我尝试复制使用 c 即打开文件 并将其内容写入新文件 下面是我使用的代码 while c getc fp EOF fprintf fp1 c c 其中 fp 是源文件 fp1 是目标文件 程序执行时没有