C++中,如何将一结构体写入文件,并读出来

AaronJessa 2011-09-12 12:58:24
我正在做一个课程设计,其中涉及到信息的输入,输出。为了不用每次都输入数据,想引入文件。
这是我设计的结构体:
typedef struct
{
char num[6];
char start[11];
char end[11];
char start_time[10];
char end_time[10];
double price;
}Strain;//定义结构体

typedef struct node
{
Strain data;
struct node *next;
}ListNode,* LinkList;//定义单链表节点

我想在创建完单链表后,将单链表的数据写入文件。下次打开程序时,又能直接从文件中读取,创建单链表!!!
请各位C++高手指点一下!
...全文
1474 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gloveing 2011-09-12
  • 打赏
  • 举报
回复
串行化。。。
AutoMatrix 2011-09-12
  • 打赏
  • 举报
回复
如果不用数据库,简单的用fread()/fwrite(),复杂一点用XML。
qjgdftxmu 2011-09-12
  • 打赏
  • 举报
回复
INI嘛
firefly3233 2011-09-12
  • 打赏
  • 举报
回复
定义结构注意不要出现奇数的尺寸。
用vector保存结构体变量
vector<Strain> m_strain;
把结构体压入
保存时:
CFile file1;
file1.Open(txtPath,CFile::modeWrite|CFile::modeCreate|CFile::modeNoTruncate); //追加文本
file1.Write(&m_strain[0], sizeof(Strain) * m_strain.size());
gameslq 2011-09-12
  • 打赏
  • 举报
回复
改变下程序架构,把链表处理的数据存储到数据库,比存到文件里方便,这是数据库的拿手好戏
如果要存入到文件使用如下代码即可
Strain a;
DWORD dwWirteNum,

win32:
WriteFile(hFile,&a,sizeof(Strain),&dwWirteNum,NULL);
ASNC:
fwrite((char *)&a,sizeof(char),sizeof(Strain),FILE);
罗平 2011-09-12
  • 打赏
  • 举报
回复
按结构体分行写入就行了。


CFile file1;
file1.Open(txtPath,CFile::modeWrite|CFile::modeCreate|CFile::modeNoTruncate); //追加文本
file1.Write(strTxt,iLen);

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧