试过CString char* 写入的都是地址文章来源:https://www.toymoban.com/news/detail-644711.html
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 [],并且保持固定的大小。文章来源地址https://www.toymoban.com/news/detail-644711.html
到了这里,关于MFC 文件读写包括字符串的结构体的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!