2012-03-11 89 views
-1

我不断收到“打开的文件失败”。我试着将“dino.dat”文件放在与运行代码相同的文件夹中。我试过把它放入项目本身。下有项目 - 复制文件试图“构建阶段”选项卡(????)如何读取xcode 4中的.dat文件?

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

我相信你的意思是“流入infile;'而不是'ifstream infile;' – 2012-03-11 02:06:12

+0

”我将dino.dat复制到代码所在的文件夹中“这不会改变你的_compiled program_而不会改变你的_source code_你的文件。调试时编译的可执行文件未放置在项目文件夹中。 – 2012-03-13 13:18:20

回答

0

您需要的Xcode打开文件?或者你的编译程序打开文件?两件完全不同的事情。

的Xcode需要打开它
的Xcode可能不希望打开一个.dat文件,因为它不知道它是什么。

我的编译程序需要如果你的编译程序需要打开该文件,那么你需要给它的文件中的相应路径打开它
。当Xcode编译你的程序时,实际的可执行文件可能在任何地方。它可能在Xcode的~/Library/Application Support/....中。 "dine.dat"是一个相对文件路径。您的程序认为您的文件与程序位于同一文件夹中。为了避免这种情况,请尝试给它一个绝对的文件路径。

+0

编辑我的问题一些。试图添加图片,但我的声望显然不够大。 – Henry 2012-03-11 04:53:00

+0

是的!这就是你告诉我的! – Henry 2012-03-11 04:57:02

+0

对不起,我搞砸了这个问题的流程。我是一个新手。有效!谢谢您的帮助! – Henry 2012-03-11 05:00:46