求救 c++代码编译无错误,但运行窗口出现乱码

2024-12-25 10:38:11
推荐回答(2个)
回答1:

楼上说的不太对 读出来的数据存进stu里面就会按顺序给类的三个变量赋值
但是你的类中的三个变量没有内存对齐(通过打印这个类所占的空间就能看出),建议你给他们重新拍下顺序,你的乱码很可能是这导致的
另外给你提个建议 新定义的变量尽量赋上初值,否者出问题了很难调试

回答2:

file.read((char*)&stu,sizeof stu);
只是读了一定长度的字符串,不可能帮你自动转换为student类的格式的撒。
你必须自己读字符,自己转换为student类的数据。