2016-03-05 101 views
0

所以我的司機是這樣的:C++文本文件無法加載

#include "problem2.h" 
#include "problem1.h" 
#include "problem3.h" 
#include <iostream> 
#include <fstream> 
#include <string> 
#include <vector> 
#include <sstream> 
#include <algorithm> 
#include <iomanip> 
#include <cstdlib> 
using namespace std; 

template <typename T> 
T convertString (std::string str){ 
    T ret; 
    std::stringstream ss(str); 
    ss >>ret; 
    return ret; 
} 

int main() 
{ 
    ifstream infile("text.txt", ios::in); 
    if(!infile) 
    { 
     cerr <<"File could not be opend"<<endl; 
    } 

    SortedLinked mylist; 
    int a; 
    int b; 
    string c; 
    string d; 
    string e; 
    int f; 
    char g; 
    string h; 

    string mystr; 
    int mymin; 
    int mysec; 

    while(infile>>a>>b>>c>>d>>e>>f>>g>>h) 
    { 
     mystr = a+b; 
     mymin = convertString<int>(e.substr(0,2)); 
     mysec = convertString<int>(e.substr(3, 4)); 
     replace(h.begin(), h.end(), '_', ' '); 

     Runner M(mystr, f, mymin, mysec); 
     mylist.additem(M); 

    } 

    return 0; 
} 

我把text.file在同一個文件夾中,它曾在另一臺電腦,我只是嘗試了幾天前。現在,每次我試圖運行它,它只是直接給我「文件無法打開」。我不知道哪裏出了問題。我甚至把一個路徑下的text.txt相同的目錄爲C++。SLN,另一個在同一目錄作爲我的.cpp和.h文件,只是爲了確保有可能被打開一個的text.txt。

首先,我通過Xcode的嘗試,我把我的text.txt在這兩個項目目錄,並在.cpp和.h目錄。文件無法打開。

然後,我通過視覺工作室累了,我沒有在同一目錄作爲我的.exe把.TXT。 「CMD.EXE開始與當前目錄上面的路徑 UNC路徑不支持默認到Windows目錄 文件無法打開。」

+0

你試過給'性病的構造:: ifstream'('(「的text.txt」,內部監督辦公室::中)')一_absolute_路徑,而不是相對路徑?那就是'C:\ Users \ ..'。 –

+0

該文件應該被放置在你的.exe放在同一個目錄下。如果您在Visual Studio中以調試模式運行程序,請確保它位於Debug文件夾中。作爲額外的檢查,請確保您有權限讀取您正在運行的用戶下的文件.exe – CodeFuller

+0

是的,我放入與放置.exe相同的目錄。 – JY078

回答

3

答案是此錯誤消息:

「CMD.EXE開始與當前目錄上面的路徑。UNC路徑 不支持,默認到Windows目錄下。文件可能 不開放」

您推出網絡共享和cmd.exe中的.exe將您的工作目錄更改爲%WINDOWS%dir。然後程序嘗試通過相關文件名打開文件,肯定失敗。將exe文件和文本文件複製到本地文件夾,它會正常工作。

+0

謝謝!因爲我在我的本地驅動器上測試,所以今天Iam使用我的網絡文件夾,因此我沒有意識到有一天它的工作。 – JY078