qq_25425023
XD灬
采纳率100%
2015-03-10 14:48

vs2013 fstream 无法打开文件

已采纳

include

//# include

include

using namespace std;

class student
{
public:
int num;
char name[20];
float score;
};
int main()
{
student std[5] = { 1001, "Li", 85, 1002, "Fun", 97.5, 1004, "Wang", 54, 1006, "Tan", 76.5, 1010, "Ling", 96 };
fstream iofile;
iofile.open("stud.dat", ios::in|ios::out|ios::binary);
if (!iofile)
{
cerr << "Error!" << endl;
exit(1);
}
for (int i = 0; i < 5; i++)
{
iofile.write((char *)&std[i], sizeof(std[i]));
}
student stud[5];
for (int i = 0; i < 5; i = i + 2)
{
iofile.seekg(i * sizeof(std[i]), ios::beg);
iofile.read((char *)&stud[i / 2], sizeof(stud[0]));
cout << stud[i / 2].num << ' ' << stud[i / 2].name << ' ' << stud[i / 2].score << endl;
}
cout << endl;
stud[2].num = 1012;
strcpy_s(stud[2].name, 20, "Wu");
stud[2].score = 60;
iofile.seekp(2 * sizeof(stud[0]), ios::beg);
iofile.write((char *)&std[2], sizeof(std[2]));
iofile.seekg(0, ios::beg);
for (int i = 0; i < 5; i++)
{
iofile.read((char *)&stud[i], sizeof(stud[i]));
cout << stud[i].num << ' ' << stud[i].name << ' ' << stud[i].score << endl;
}
iofile.close();
return 0;
}

输出的是Error,求解??看不出什么错误!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

相关推荐