MFC 文件读写包括字符串的结构体

试过CString char* 写入的都是地址

cpp 复制代码
struct Param{
	int ID;
	int index;
	char val[128];
};

vector<Param>ans;
UINT count = 17;
ans.resize(count);
FILE* fp;
fopen_s(&fp,_T("my.txt"),_T("rb"));
if(count != fread(&ans[0],sizeof(Param),count,fp)){
	AfxMessageBox("1");
}

它不起作用的原因是fwrite向文件写入了一个连续的字节块,然而你的结构体包含指向其他地方的指针,所以你存储的基本上是字符串的地址,而不是字符串本身。

如果你想使用fwrite,你需要让结构体成为一个连续的字节块,也就是说,在你的结构体中使用char [],并且保持固定的大小。

相关推荐
汤永红25 分钟前
week1-[分支结构]中位数
c++·算法·信睡奥赛
啊阿狸不会拉杆28 分钟前
《算法导论》第 24 章 - 单源最短路径
开发语言·数据结构·c++·算法·php
点云侠2 小时前
【2025最新版】PCL点云处理算法汇总(C++长期更新版)
c++·算法·计算机视觉·3d·可视化
Mr_Xuhhh3 小时前
传输层协议 TCP(1)
运维·服务器·网络·c++·网络协议·tcp/ip·https
sTone873753 小时前
QuickJS 的核心概念和核心 API
前端·c++
草莓熊Lotso4 小时前
《吃透 C++ 类和对象(中):拷贝构造函数与赋值运算符重载深度解析》
开发语言·c++·经验分享·笔记·其他
楚Y6同学4 小时前
QT之键盘控制虚拟遥控系统开发总结
开发语言·c++·qt·串口通信
啊阿狸不会拉杆5 小时前
《算法导论》第 22 章 - 基本的图算法
c++·算法·排序算法·图论·拓扑学
melonbo6 小时前
桥接模式C++
开发语言·c++·设计模式·桥接模式
_多拉不懂A梦14 小时前
FFmepg源码系列-avformat_open_input()
c++·ffmpeg·音视频