2016-06-10 95 views
0

這兩個Visual Studio的發生和XCode的爲什麼我的文件不能打開,C++? Xcode和Visual Studio的

#include <fstream> 
#include <iostream> 

using namespace std; 

int main() { 

    ifstream input; 

    input.open ("matrices.txt"); 

    if (!input.is_open()) { 
     cout << "not open!"; 
    } else { 
     cout << "open!"; 
    } 

    input.close(); 

    return 0; 
} 

我的文件是不開放。文本文件matrices.txt位於相同的目錄中。

+0

如果你在IDE內部執行它,當前目錄可能與項目文件所在位置相同(你應該檢查你的IDE的設置以找出當前目錄指向的位置)。作爲替代方案,您可以打開一個終端,導航到您的可執行文件並從終端運行(matrices.txt也應該位於相同的目錄中)。 – incBrain

+0

**當前目錄**(默認情況下爲非限定文件和目錄名稱)不一定與**可執行文件的目錄**相同。事實上,他們都是一樣的。例如,當您運行記事本時,您很少將當前目錄更改爲「c:\ windows \ system32」。 –

+0

也許'system(「chdir」)'的輸出會亮起來 –

回答

0

在這種情況下什麼是「相同的目錄」?

要使文件以這種方式打開,在調試器中運行時,必須在可執行文件的工作目錄中。

對於Xcode;這意味着將文件添加到Copy Files構建階段(通過編輯可執行文件的目標來訪問);並將其添加到從下拉列表中選擇的Products Directory

0

在Xcode中,如果你想使用一個文件,你必須把它放在一個名爲DeriverData的文件夾中。您可以通過執行以下操作導航到它:

Xcode> preferences>單擊位置。

這帶來如下窗口 enter image description here

您可以在小箭頭點擊路徑的正確:/用戶/ dulybon1 /庫/開發商/ Xcode中/ DerivedData

這將打開包含所有Xcode項目列表的目錄。找到你的項目並導航到:建立>產品>調試

,如下圖所示:

enter image description here

然後你可以把你的文件存在。 「a1.txt」和「a2.txt」是我放在那裏的文件。我認爲該文件在打開之前需要存在,所以如果您計劃使用它們,只需創建空白文件即可。希望對你有幫助

相關問題