rt,用c++如何读取二进制文件到一个string类型中,
急求,急求
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

首页/
已采纳
如何读取二进制文件到一个string类型中
收起
- 写回答
- 好问题 1 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
枫舞的季节 2017-06-02 20:14关注如下代码,先在string 中分配大小,然后读取,如果要显示字符串中的内容,需要将内存中的内容转换为16进制或者其他的显示方式。
#include <stdio.h> #include <string> using namespace std; int main(int argc , char** argv) { string s; FILE *fp = fopen("c:\\test\\xx.exe","rb"); if(fp) { fseek(fp,0,SEEK_END); int len = ftell(fp); fseek(fp,0,SEEK_SET); s.resize(len); fread((void*)s.data(),1,len,fp); fclose(fp); } else { printf("fopen error\n"); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 1无用举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容
编辑
预览

轻敲空格完成输入
- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
提交
- 2022-05-15 08:43回答 2 已采纳 string是个复杂结构,是个container, 它的数据不在你所见的string上,所以不能 sizeof(),如果想用二进制的存和读,用char[ 100 ],这个是有定长的。*否则你存的str
- 2018-03-22 03:41回答 3 已采纳 这里的问题是string,string类型浅拷贝的结果是两个指针指向同一块区域,那么析构的时候就会遇到double free了,你如果想整体将结构体写入文件,那么你需要确保没有复杂的结构对象,或者你自
- 2018-08-24 10:56回答 2 已采纳 If you still interested in golang FBX reader here is my implementation https://github.com/o5h/fbx.
- 2024-05-06 02:21这个功能对于开发者来说非常实用,因为它允许开发者查看和复制文件的二进制数据,这对于调试、分析或处理二进制文件时尤其有用。 首先,我们需要了解QT中的文件I/O接口。QT框架提供了一个名为`QFile`的类,用于打开...
- 2022-09-05 02:53回答 1 已采纳 你可以尝试用AssetBundle加载模型的二进制数据转为ab包,再通过ab包解析实例化模型
- 2021-06-05 02:02回答 3 已采纳 写文件的时候,要自己把p转成字符串,因为在类中有string这种不定长的类型,编译器不知道怎么转换。所以在写文件前,需要把p的内容存在一个buf[]中,然后把buf[]写入文件,或者一个元素一个元素去
- 2014-12-01 03:25回答 1 已采纳 我估计原因有两个: 1、 string 是一个容器,sizeof 得到的只是 string 这个类的大小,与里面的元素个数没关系。可以换成数组试试。 2、不明白 fin.read((char*)
- 2020-08-31 11:48以下是一个完整的示例,演示如何读取一个二进制文件并将其内容打印为16进制: ```c++ #include #include #include <string.h> int main() { FILE *fp = fopen("binaryfile", "rb"); if (fp == NULL) { ...
- 2015-01-12 22:15回答 2 已采纳 http://www.cnblogs.com/ldp615/archive/2010/09/17/asp-net-mvc-file-result.html
- 2013-02-03 21:09回答 1 已采纳 The main thing was that the binary data is stored in base64 in DynamoDB even if you provided it in
- 2013-07-23 02:56回答 1 已采纳 你都得到bytes了,还废那么多事情用writer写干嘛。。。直接写字节就是原文件内容啊
- 2021-01-19 14:57“写入二进制文件”位于函数选板的“编程→文件I/O一写入二进制文件”,图标和接线端如图1所示。 输入和输出接线端的说明如下。 prepend arrav Or string slze?:预置数组或字符串大小,指定是否包含写入...
- 2020-12-23 00:27筑室的博客 本文转自Unity Connect博主 Michael Wang特别针对 ...今天我们就用 Binary 二进制和 Json 结合我们之前的背包系统来真是存储我们的游戏数据(背包数据)有关背包系统的内容可以参考另外一篇文章:https://connect.un...
- 2022-06-05 07:17在二进制文件中,每个字节都对应一个0到255之间的十进制数字,可以用十六进制表示。你可以通过遍历文件的字节并比较它们的值来实现。例如,寻找十六进制值0x41('A'的ASCII码): ```python with open('binary_file...
- 2021-02-27 01:50leniou的牙膏的博客 我有一个相对较长的无符号整数文件(每个64位,0.47GB文件),我需要读取并存储在一个数组中.经过一段时间的脑力劳动后,我终于使用了这种类型,因为Java中的所有内容都已签名(请纠正我,如果我错了,请),我想不出更好的选择...
- 没有解决我的问题, 去提问
联系我们(工作时间:8:30-22:00)
400-660-0108kefu@csdn.net在线客服
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司