Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。
6年前关闭。
Improve this question
根据MSDN,应将
这是一个错误吗?还是我在某个地方弄错了?
想改善这个问题吗?添加详细信息,并通过editing this post阐明问题。
6年前关闭。
Improve this question
根据MSDN,应将
C:tmp.txt
的路径视为相对路径,但PathIsRelative()
返回FALSE
而不是TRUE
。这是一个错误吗?还是我在某个地方弄错了?
最佳答案
这取决于相对。像C:tmp.txt
这样的路径非常特殊。它相对于驱动器C上的当前目录。另一方面,tmp.txt
相对于进程当前目录。实际上,每个驱动器的当前目录也很特殊,它是通过一些奇怪的环境变量实现的,纯粹是为了保持与DOS的兼容性。有关此相当神秘的主题的更多信息,请参见Raymond Chen的文章:Why does each drive have its own current directory?
相对于什么是相对路径,PathIsRelative
似乎对您的看法不同。 PathIsRelative
函数不会将相对于指定驱动器上的工作目录的路径视为相对路径。因此PathIsRelative("C:tmp.txt")
返回FALSE
。如果您想要一个将这种路径视为相对路径的函数,则可能必须自己编写。手动解析路径以检测这种情况非常容易。
关于c++ - 它是具有PathIsRelative函数的WinAPI错误吗? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26099361/
10-14 21:17