2012-03-11 90 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