2016-11-06 64 views
-1

我已經在網絡和這裏搜索了這個,但我似乎無法弄清楚我做錯了什麼。在我的代碼中處理文件時遇到問題?

我只是想通過文件處理和C++獲得更好的效果。

對於練習,我試圖抓取遊戲文件夾中的文本文件並複製它。

這是我的代碼(不能訪問該文件)。

#include <fstream> 

#include <iostream> 
#include <string> 

using namespace std; 



int main() 

{ 
    //define/open files 
    ifstream my_input_file; 
    ofstream my_output_file; 
    string filepath = "C:/Users/David Laptop/Documents/my games/oblivion/RenderInfo.txt"; 
    my_input_file.open(filepath); 


    if (my_input_file.is_open()) 
    { 
     cout << "opened\n"; 
     my_output_file.open("output_file.txt", ofstream::trunc); 
     char c; 
     my_input_file.get(c); 
     while (my_input_file) 
     { 
      my_output_file.put(c); 
      my_input_file.get(c); 
     } 

     my_input_file.close(); 
     my_output_file.close(); 


    } 
    else 
    { 
     cout << "FAIL\n"; 
    } 

    cin.get(); 
    return 0; 
} 

這似乎與項目目錄中的文本文件和.ini文件一起工作,但我遇到問題正確地轉到其他directiorys?

任何想法?

謝謝!

+0

什麼具體不工作? – Carcigenicate

+0

[在工作目錄之外的C++中打開文件]可能的重複(http://stackoverflow.com/questions/10093891/opening-a-file-in-c-outside-of-the-working-directory) – eshirima

+0

該文件沒有被打開,因此沒有被複制到output_file.txt中 –

回答

0

你的代碼是完全有效的,它的工作原理 - 我用我自己的文件試了一下,而不是你的,在該行

string filepath = "C:/Users/David Laptop/Documents/my games/oblivion/RenderInfo.txt"; 

所以你沒有這樣文件它是不是中給定的路徑或你還沒有這樣的路徑

糾正它在那一行,它會沒事的。

提示:查找Windows資源管理器中,按您的文件(按住)Shift)並在此右鍵單擊文件。從上下文菜單中選擇Copy as path,然後將其粘貼到您的代碼中。但要小心 - 必須將每個反斜槓(\)更改爲正斜槓(/)(如代碼中所示)或使用雙反斜槓(\\)而不是單個反斜槓。

+0

哇...我很抱歉,該文件是「RendererInfo.txt」而不是「RenderInfo.txt」....我正在拍我的臉,但感謝您的幫助! –

+0

超級!我用一個提示擴展了我的答案,如何*防止類似的錯誤*(將來)。 – MarianD

+0

非常感謝! –

相關問題