2009-09-18 26 views
8

我知道這是一個noob的問題,但我曾經在Python之前和當你想簡單地訪問一個.txt文件,例如,你所要做的就是確保txt文件在同一個目錄中。我在下面的C++代碼,但它沒有找到我保存在我的桌面上的Numbers.txt文件。我所有的文件中只有一行是double類型的數字。我想要做的就是找到文件中所有數字的平均值。該程序運行良好,但它不能正確打印輸出。在通過打印輸出[0]查看打印輸出的內容後,我發現文件並未將其內容複製到數組中。是否有人能夠爲我解決這個小問題,或者至少讓我指向一個好的教程的正確方向?在進行文件管理操作時,Visual Studio在哪裏搜索txt文件?

int main() { 
    cout << "Getting File Information..." << endl; 
    ifstream file; 
    char output[100]; 
    //int x; 

    file.open("Numbers.txt", ios::in); // open file 

    cout << "Opened File Successfully ****************" << endl; 
    file >> output;    // empty file contents into output 
    cout << output;    // print out contents of file 
    cout << "Should have printed out results by now" << endl; 
    //file >> x; 

    file.close(); 

    return 0; 
} 

回答

6

Visual Studio在調試模式下運行時將工作目錄設置爲YourProjectDirectory \ Debug \ Bin。如果您的文本文件位於YourProjectDirectory中,則需要考慮該差異。

最簡單的方法是將文本文件包含在項目中,並將其構建操作(在屬性窗口中)設置爲內容。

+2

你說的是C#或VB.Net而不是C++ – 2009-09-18 22:37:56

+2

也許答案需要修改,我有同樣的問題,但是我沒有在VS2015的'\ Debug'下找到'\ Bin'子文件夾。幸運的是,第二種方法仍然有效。 – Jaege 2016-01-28 02:17:24

0

工作路徑是項目目錄。

+0

至少在VS C++ 2005和6.0 – 2009-09-18 22:37:19

3

如果您正在討論通過F5或調試/開始調試在Visual Studio調試器中運行代碼,您可以通過Project/<來設置程序的工作目錄項目名稱>屬性/配置/調試/工作目錄。

將文本文件放在某個目錄的某個目錄中,並將工作目錄設置爲指向該目錄。

+1

不要使用絕對路徑。移到另一臺計算機時它會中斷。 – 2009-09-18 22:41:46

+0

無論如何,工作目錄設置並不存儲在項目文件中,所以這不是問題。 – RichieHindle 2009-09-18 22:44:10

+0

想想這樣,你將工作目錄設置爲c:\ somedir並放置配置文件,將程序移動到其他地方將無法正常工作* – 2009-09-18 22:46:57

4

我剛剛有同樣的問題,我沒有找到任何工作的答案。然後我想起了很久以前在OOP學到的東西。 您需要做的是將文本文件放在桌面上,然後在計算機文檔中的Visual Studio項目中找到項目文件夾,然後將文本文件放在Visual Studio以外的文件夾中。然後在下面的源文件的Visual Studio中,右鍵點擊 - >添加現有項 - >(文本文件)

:)

順便說一句我碰到這個線程,因爲這個線程說,這是一個好主意,我想它爲了人們搜索同一個問題而更新。 https://meta.stackexchange.com/questions/125965/is-bumping-old-questions-allowed

+0

這與OOP沒有任何關係。 – 2016-09-29 20:03:44

+0

當應用程序投入生產時會崩潰並燒燬。 – nicomp 2017-09-26 16:01:01