我想解析一個txt文件,我想引用它相對於我當前的目錄位置。如果我將文件路徑完全放入,它將會正常工作,但是我嘗試使用 .. \ src \ test.txt它不會找到它。這不是正確的方式來引用一個文件相對於一個目錄嗎?如何用相對路徑打開C文件?
如果你在一個字符串把「.. \ SRC \ test.txt的」恆任何幫助,將不勝感激
我想解析一個txt文件,我想引用它相對於我當前的目錄位置。如果我將文件路徑完全放入,它將會正常工作,但是我嘗試使用 .. \ src \ test.txt它不會找到它。這不是正確的方式來引用一個文件相對於一個目錄嗎?如何用相對路徑打開C文件?
如果你在一個字符串把「.. \ SRC \ test.txt的」恆任何幫助,將不勝感激
,你需要所有的反斜線讓‘\ t’和‘\ s’是不翻番不被解釋爲轉義序列。 (或者,您可以使用正斜槓代替,這是更便攜的。)
這取決於當前工作目錄設置爲。默認情況下,如果您從資源管理器雙擊應用程序,則該目錄是可執行文件所在的目錄,或者如果從命令提示符啓動,則shell所在的當前路徑。
如果test.txt位於c:\ code \ app \ src並且您的應用程序位於c:\ code \ app中,則相對路徑「.. \ src \ test.txt」將以c: \ code \ src \ test.txt(如果從資源管理器啓動)。
嘗試打印_getcwd的輸出之前,嘗試打開文件以驗證哪個目錄是當前工作目錄。
假設你的目錄結構如下:
project +---src | test.txt | proj.c \---bin a.out <- Working directory
您的相對路徑是正確的;你的工作目錄實際上與文本文件在同一層。
如果你真的意味着文件是一個目錄,你說,像這樣的:(注:這是一個尷尬的項目結構)
project \---src | test.txt | proj.c \---bin a.out
或者是這樣的:(更有意義)
project | test.txt +---src | proj.c \---bin a.out
然後你需要的路徑是"../test.txt"
,或者等價地,"../../project/test.txt"
一個更好的位置將是一個數據目錄,所以你的路徑將是"../data/test.txt"
Blech!爲什麼我的標籤無法正常工作? – 2010-09-22 18:27:21
我想這是VS vbuild一個窗口(給出的背面斜線路徑)
VS會已經把二進制的類似項目\ BIN \調試。當你在VS中運行它時,它會將當前的WD設置爲二進制文件的位置。
所以
一)文件複製到正確的地方
B)更改項目屬性調試安裝說設置當前路徑到你期望的文件是(相對的位置)
顯示打開該文件的位置的代碼。 – nos 2010-09-22 18:06:29