社区
C++ 语言
帖子详情
二进制文件读取到结构体的一个问题
yclz
2006-07-27 10:08:10
文件内容为二进制,现在要读到一个长度为168的结构体中,我用
结构体名 Index[10];
i = 0;
while(i < 10)
{
FileIn.seekg(sizeof(Index[i]) * i);
FileIn.read((char*)&Index[i], 168);
i++;
}
这种方法读,第一条只能读到期32个字节,以后的每条都读不到,是怎么回事啊?
...全文
239
3
打赏
收藏
二进制文件读取到结构体的一个问题
文件内容为二进制,现在要读到一个长度为168的结构体中,我用 结构体名 Index[10]; i = 0; while(i < 10) { FileIn.seekg(sizeof(Index[i]) * i); FileIn.read((char*)&Index[i], 168); i++; } 这种方法读,第一条只能读到期32个字节,以后的每条都读不到,是怎么回事啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cici2006
2006-07-27
打赏
举报
回复
FileIn.seekg(sizeof(Index[i]) * i);
你为什么要跳呢?
gohan
2006-07-27
打赏
举报
回复
从index[0]到index[9]都正常
gohan
2006-07-27
打赏
举报
回复
我没用过二进制的文件,一般的文本好像没这个问题啊
#include <iostream>
#include <fstream>
using namespace std;
struct {
char str[168];
char c;
} Index[10];
main(){
ifstream FileIn("c:\\a.txt");
int i = 0;
while(i < 10)
{
Index[i].c='\0';
FileIn.seekg(sizeof(Index[i]) * i);
FileIn.read((char*)&Index[i], 168);
i++;
}
cout<<Index[1].str;
}
结构体
序列化读写
二进制
文件
类
数据用
二进制
方式保存无疑是能减小数据
文件
体积!此类就是鉴此思想编写 类包括数据写入 读写(
文件
头(
结构体
)部分 记录数据基本参数和
文件
的数据块数量 正文部分为存数据(
结构体
))高效实现块写 块读 !
将
结构体
写入
二进制
文件
将
结构体
数据写入
二进制
文件
,从
二进制
文件
中
读取
结构体
数据
《C语言基础》 之 第10章
结构体
课程内容:为什么需要
结构体
、定义
一个
结构体
类型、
结构体
变量的声明和定义、sizeof测试
结构体
变量字节、
结构体
成员的普通访问方式、使用指针访问
结构体
成员、
结构体
嵌套、
结构体
传参、
结构体
数组。
C#从
文件
中存储及
读取
结构体
示例
把
结构体
存储成2进制
文件
及从2进制
文件
中
读取
信息到
结构体
示例
php
读取
二进制
流(C语言
结构体
struct数据
文件
)的深入解析
本篇文章是对php
读取
二进制
流(C语言
结构体
struct数据
文件
)进行了详细的分析介绍,需要的朋友参考下
C++ 语言
64,649
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章