2 zay999abc zay999abc 于 2015.06.16 23:44 提问

请问怎样写文件名?谢谢。。。

图片说明
我要打开图中的txt文件,怎样写绝对路径?如果写相对路径,从哪个文件层算起?

9个回答

gamefinity
gamefinity   Rxr 2015.06.17 05:54
已采纳

同样在vs,使用c#的控制台程序,和使用c++的控制台程序,当前的当前目录是不一样的。
使用c#的时候,调试时当前目录是debug目录。
使用c++的时候吗,调试时当前目录是源代码目录。

zay999abc
zay999abc 我现在这个文件是放在源代码目录,所以用相对路径“Text.txt"就行了吧,可是打不开。。。
2 年多之前 回复
caozhy
caozhy   Ds   Rxr 2015.06.17 00:07

注意有两个相对路径,一个是可执行文件所在的路径,一个是程序的工作路径。
你双击程序打开的时候工作路径默认就是exe的路径,这没有问题,但是如果你从控制台启动程序,或者从另一个程序启动,未必一致。
假设debug里有你的程序,而你以exe为相对路径的参照,那么你可以这么访问你的exe:

 relpath + "\\..\\text.txt"
zay999abc
zay999abc 谢谢。
2 年多之前 回复
ycg514230
ycg514230   Rxr 2015.06.17 10:09

应该是从目标路径开始算d的。可以在vs里面设置

zay999abc
zay999abc 谢谢。
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.06.16 23:55

相对路径从你exe所在目录开始。

zay999abc
zay999abc 谢谢。
2 年多之前 回复
a1193561652
a1193561652   Rxr 2015.06.17 01:15

从你的程序的可执行文件算起。

zay999abc
zay999abc 谢谢。
2 年多之前 回复
tongyi55555
tongyi55555   2015.06.17 08:00

看了回复挺晕的,楼主试试吧,放个路径进去看看报不报空指针。

zay999abc
zay999abc 谢谢。
2 年多之前 回复
star890124
star890124   2015.06.17 10:54

.exe在Debug,那么txt是在它的上一层目录中,用: ..\text.txt试试

zay999abc
zay999abc 谢谢。
2 年多之前 回复
u010655288
u010655288   2015.06.17 11:50

绝对路径是从根目录开始的,写相对路径比较好,相对路径当你程序整个文件移动后,不会有路径错误,

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.18 23:55
Csdn user default icon
上传中...
上传图片
插入图片