我想解析一个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