2009-01-23 102 views
0

發生在我身上的是,當我從Visual Studio運行我的程序時,它無法使用相對路徑來查找任何內容。Visual Studio 2008,相對路徑愚蠢問題

這被證明是很難表達清楚......

一樣,我有程序X,這將打開TextFile.txt的,對不對?如果我用絕對路徑指向textfile.txt,我很好。如果我用相對路徑指向它並編譯X程序,然後直接運行它(例如,通過雙擊調試文件夾中的programX.exe),我也很好。但是,如果我使用相對路徑並從Visual Studio中運行程序(即按f5),則無法找到該文件。

任何人都知道發生了什麼?或者,任何人都可以提出一些體面的關鍵字,不會與其他新手Visual Studio問題直接衝突嗎?

回答

2

不知道VS2008,但早期版本運行程序與目前的調試目錄(或發佈,我猜)在您的項目目錄下。您可能必須確保將其用作路徑的根源。

另外,用「.. \」預先設置相對路徑。

暫時把system("cd");你的代碼中找出它的實際上運行或使用GetCurrentDirectory(...)尼克的建議。

+0

這在VS2008中也是正確的。您也可以使用GetCurrentDirectory()(iirc)來計算出您的編程位置。 – Nick 2009-01-23 07:00:50

3

在VS 2008中,你可以在運行目錄下的EXE項目的性質 - 該EXE從運行的目錄。