C++ 无法打开二进制文件
3全局声明文件I/O流(在所有函数之外) 这是出现问题的两个函数。由于某些原因,“quizquestions.dat”文件无法打开。由于该语句退出(1);正在执行,程序正在终止。问题编号分配不正确。对象“universal”是我的类问题的一个对象,它存储问题。 代码得到编译,没有错误C++ 无法打开二进制文件,c++,file-io,C++,File Io,3全局声明文件I/O流(在所有函数之外) 这是出现问题的两个函数。由于某些原因,“quizquestions.dat”文件无法打开。由于该语句退出(1);正在执行,程序正在终止。问题编号分配不正确。对象“universal”是我的类问题的一个对象,它存储问题。 代码得到编译,没有错误 void questionnumber() { int file_size=0; fin.open("quizquestions.dat",ios::in|ios::binary); fin
void questionnumber()
{
int file_size=0;
fin.open("quizquestions.dat",ios::in|ios::binary);
fin.seekg(0,ios::end);
file_size = file.tellg();
if(file_size==0)
universal.assignquestion(1);
fin.close();
int next_question = (file_size/sizeof(question)) + 1;
universal.assignquestion(next_question);
}
void addquestion()
{
ch='y';
do
{
cout<<"Adding question now\n";
cout<<"Please\n";
universal.createquestion();
questionnumber();
fout.open("quizquestions.dat",ios::app|ios::binary);
if(!fout)
exit(1);
fout.write((char*)&universal,sizeof(question));
fout.close();
cout<<"Your question is added\nYour question details are as follows"<<endl;
universal.dispquestion();
cout<<"Do you want to add more questions?(Y/N)\n";
cin>>ch; cin.ignore();
}
while(ch=='y'||ch=='Y');
if(ch!='y'||ch!='Y')
dispsetting();
}
void questionnumber()
{
int file_size=0;
fin.open(“quizquestions.dat”,ios::in | ios::binary);
财政司司长(0,ios::结束);
file_size=file.tellg();
如果(文件大小==0)
普遍性问题(1);
fin.close();
int next_question=(文件大小/sizeof(问题))+1;
普遍性问题(下一个问题);
}
void addquestion()
{
"y",;
做
{
cout尝试使用fout.open(ios::app | ios:binary | ios::out);您确定该文件存在于编译的exe所在的位置吗?您还应该在标志中尝试ios::out。如果它不存在,是否会创建同名的新文件?为什么要检查(!fout)…您必须检查!fout_isopen()函数。
void questionnumber()
{
int file_size=0;
fin.open("quizquestions.dat",ios::in|ios::binary);
fin.seekg(0,ios::end);
file_size = file.tellg();
if(file_size==0)
universal.assignquestion(1);
fin.close();
int next_question = (file_size/sizeof(question)) + 1;
universal.assignquestion(next_question);
}
void addquestion()
{
ch='y';
do
{
cout<<"Adding question now\n";
cout<<"Please\n";
universal.createquestion();
questionnumber();
fout.open("quizquestions.dat",ios::app|ios::binary);
if(!fout)
exit(1);
fout.write((char*)&universal,sizeof(question));
fout.close();
cout<<"Your question is added\nYour question details are as follows"<<endl;
universal.dispquestion();
cout<<"Do you want to add more questions?(Y/N)\n";
cin>>ch; cin.ignore();
}
while(ch=='y'||ch=='Y');
if(ch!='y'||ch!='Y')
dispsetting();
}