2014-06-14 69 views
-1

我想打開這個文件,但由於某種原因,它不會。我不明白我做錯了什麼。從我在網上閱讀的所有內容看來,一切都是正確的。我該怎麼做錯誤的打開這個文件?

#include <string> 
#include <iostream> 
#include <vector> 
#include <fstream> 
#include <sstream> 


int main() 
{ 
    std::string accnts_file = "accnt_info.txt"; 
    int accnt_counter = 0; 
    std::string strLine; 
    std::string strData; 
    std::vector< std::vector<std::string> > accnts; 
    std::ifstream ifs(accnts_file.c_str(), std::ifstream::in); 

    if(!ifs) 
    { 
     std::cerr << "Error opening file" 
        << std::endl; 
    } 

    while(ifs.good()) 
    { 
     ... 
    } 
} 

任何幫助將真正理解

回答

1

確保要加載的文件在同一目錄下的可執行文件存在。

可執行文件中的文件路徑被解釋爲相對於可執行文件(如果不是絕對的話)。
如果可執行文件中的文件路徑與生成該exe文件的源文件相關,那麼對於包含數千個源文件的大型程序而言,這將是一個巨大的混亂。
此外,源文件只存在於開發人員的網絡上,所以任何家庭用戶都會發現他的程序正在搜索他機器上不存在的荒謬路徑。

文件路徑與可執行文件的目錄相關,如果不是絕對的話。文件路徑在每次執行時都被全新解釋,因爲內存不斷變化。

+0

謝謝。這就是我曾試圖做的事情,但它不會讓我連續幾天。 – anacy