【发布时间】:2017-03-19 12:39:50
【问题描述】:
我目前正在从事板球记分牌项目。 而且我想将团队数据保存在一个文件夹中。
我尝试了很多方法,但无法打开保存在其他文件夹中的文件。
这是我的代码的 sn-p:
if(strcmp(TeamName,"Australia")==0||strcmp(TeamName,"australia")==0)
rf.open("/teams/australia.dat",ios::in|ios::binary);
else if(strcmp(TeamName,"india")==0||strcmp(TeamName,"India")==0)
rf.open("india.dat",ios::in|ios::binary);
else if(strcmp(TeamName,"England")==0||strcmp(TeamName,"england")==0)
rf.open("england.dat",ios::in|ios::binary);
else if(strcmp(TeamName,"pakistan")==0||strcmp(TeamName,"Pakistan")==0)
rf.open("pakistan.dat",ios::in|ios::binary);
else if(rf)
{
cout<<"\n\t\t FILE NOT FOUND";
return ;
}
if(!rf.is_open())
cerr<<"\n\n\t\tFile not open!";
rf.read((char*)&rec,sizeof(rec));
cout<<"\n\t\t Team "<<TeamName;
while(!rf.eof())
{
cout<<"\n\t\t "<<rec.PlayerNumber<<"\t"<<rec.PlayerName;
rf.read((char*)&rec,sizeof(rec));
}
没有编译时错误。该文件只是无法在运行时打开。 if(!rf.is_open()) cerr
如何使用 file.open(); 打开它
【问题讨论】:
-
错误信息是什么意思?
-
请注意,路径中的前导斜杠表示它是根目录的绝对路径。由此我们可以推断出不以斜杠开头的路径是相对的,并且它们与程序当前工作目录是相对的。如果你不能确定程序的工作目录是什么,绝对路径通常是好的。
-
没有编译时错误。该文件只是无法在运行时打开。 if(!rf.is_open()) cerr
-
某程序员老兄:谢谢!给出完整的地址有效!但是,如果我们将整个项目移到其他地方怎么办,那么每次我都必须更改代码中的地址。没有更简单的方法吗?