繁体   English   中英

抛出C ++异常:读取访问冲突(fopen / fread结构)

[英]C++ Exception thrown: read access violation (fopen/fread struct)

这是我的结构:

struct Account {
string accID;
string name;
float balance;
string currency;
int status; 
};

功能:

Account layFileTaiKhoan(string id) {
FILE * openfile;
Account getAcc;
string mypath = "Account\\" + id + ".dat";
openfile = fopen(mypath.c_str(), "r");

fread(&getAcc, sizeof TaiKhoan, 1, openfile);

fclose(openfile);

return getAcc;
}

但是,当我使用函数将结构保存在.dat文件中时,出现了以下错误消息:“抛出了异常:读取访问冲突”。

请帮助我解决此错误,并非常感谢您的帮助!

您无法fread std::string (或包含std::string的对象),因为std::string对象仅包含指向实际字符串的指针(某些库实现中的短字符串除外)。编写的指针是没有意义的,使用该指针是未定义的行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM