C++如何读入一个文件中的结构体数组数据?

[复制链接]
查看11 | 回复5 | 2016-8-25 04:52:12 | 显示全部楼层 |阅读模式
取决于文件中数据的存储方式。1 如果文件中存储的方式为二进制形式数据:需要使用fread(C语言风格)或ifsteam的read成员函数(C++风格。)从文件中读取结构体数据到对应的结构体指针上。如struct test{
int a;};struct test t;fread(&t, 1,sizeof(t), fp); 或file.read(&t, sizeof(t));2 如果文件中,是以文本方式存储的可读的结构体数据:需要根据文件中数据的存储格式,通过fscanf(C语言风格)或ifstream的>>成员函数,读取各个值到对应的结构体成员变量中。如 struct test t;...
回复

使用道具 举报

千问 | 2016-8-25 04:52:12 | 显示全部楼层
和这个差不多啊,主要是把fwrite换成fread 二进制,fopen的参数,要加上b写成FILE *fp = fopen("hbin.txt", "rb");否则读不完整...
回复

使用道具 举报

千问 | 2016-8-25 04:52:12 | 显示全部楼层
这个没有捷径..1.你可以用正则表达直接匹配。2.需要你自己按行解析了。...
回复

使用道具 举报

千问 | 2016-8-25 04:52:12 | 显示全部楼层
#include using namespace std;typedef struct hardware{ int num; int amount; int price;}instruction;int main(){ instruction code[100] = {0}; for ( int j...
回复

使用道具 举报

千问 | 2016-8-25 04:52:12 | 显示全部楼层
1.FILE *hbin = fopen("hbin.txt", "r");fread(code, sizeof(instruction), 100, hbin);fclose(hbin);...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行