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 [],并且保持固定的大小。

相关推荐
Larry_Yanan6 分钟前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui
R-G-B28 分钟前
【35】MFC入门到精通——MFC运行 不显示对话框 MFC界面不显示
c++·mfc·mfc运行 不显界面·mfc界面不显示
Madison-No71 小时前
【C++】探秘vector的底层实现
java·c++·算法
晚风残1 小时前
【C++ Primer】第十二章:动态内存管理
开发语言·c++·c++ primer
liu****1 小时前
8.list的模拟实现
linux·数据结构·c++·算法·list
保持低旋律节奏2 小时前
C++ stack、queue栈和队列的使用——附加算法题
c++
初圣魔门首席弟子2 小时前
【C++ 学习】单词统计器:从 “代码乱炖” 到 “清晰可品” 的复习笔记
开发语言·c++
十五年专注C++开发2 小时前
CFF Explorer: 一款Windows PE 文件分析的好工具
c++·windows·microsoft
郝学胜-神的一滴2 小时前
计算机图形学中的光照模型:从基础到现代技术
开发语言·c++·程序人生·图形渲染
深耕AI4 小时前
MFC + OpenCV 图像预览显示不全中断问题解决:GDI行填充详解
c++·opencv·mfc