我一直在“打开文件失败”。我已经尝试将“dino.dat”文件放在与运行代码相同的文件夹中。我已经尝试将它放入项目本身。在项目复制的文件下尝试“Build Phases”选项卡。(????)
void ShowDino()
{
glColor3f(0,0,0); //set the drawing color
glLineWidth(3); //set the point size
//glBegin(GL_POLYGON);
//glVertex2d(randomPx,randomPy); //Set the position of the vertex
ifstream infile;
infile.open ("dino.dat");
if(!infile)
{
cout << "open file failed\n";
exit(0);
}
N_MAP_POINTS=0;
while(!infile.eof())
{
infile >> polylines; //read how many polylines
for(int i = 0; i<polylines; i++)
{
infile>>line;
glBegin(GL_LINE_STRIP);
for(int j = 0;j<line;j++) //read each lines
{
infile >> x >> y;
glVertex2d(x, y);
}
glEnd();
}
我以为我将“dino.dat”复制到代码所在的文件夹中。在Visual Studio中,这就是它的工作原理。思想Xcode可能类似。那么,你是否告诉我,我应该阅读类似的完整路径:
infile.open ("/Users/me/Desktop/dino.dat")
答案 0 :(得分:0)
您需要Xcode才能打开文件吗?或者你编译的程序打开文件?!两件截然不同的事情。
Xcode需要打开它
Xcode可能不想打开.dat
文件,因为它不知道它是什么。
我编译的程序需要打开它
如果您的编译程序需要打开该文件,那么您需要为其提供该文件的相应路径。当Xcode编译您的程序时,实际的可执行文件可能在任何地方。它可以在Xcode的~/Library/Application Support/....
中。 "dine.dat"
是相对文件路径。您的程序认为您的文件与程序位于同一文件夹中。为避免这种情况,请尝试为其提供绝对文件路径。