我的代码获取当前页面路径有什么问题?

时间:2009-08-20 12:11:51

标签: c++ visual-c++

我在c:\ vsproj \ example \ test \ test.vcproj中有我的visualstudio vcproj文件

在这条路径下我有一些其他文件,比如e test.cpp文件,还有一个dll test.dll。

所以完全在tha路径c:\ vsproj \ example \ test我有

1)test.vsproj 2)test.dll 3)test.cpp

通常要获取我们使用的cuurent文件夹路径“。\”所以我已应用该技术获取

驻留在test.cpp文件所在的dll路径

现在在test.cpp中我写的其他地方

string str =“。\\ test.dll”获取test.dll路径。但我没有把dll路径带入

我的想法是我必须在变量str =“c:\ vsproj \ example \ test \ test.dll”

中获取路径

但是我得到“。\ test.dll”wat是错的你可以纠正我吗? 变量str;如何获取此场景中的dll路径...

5 个答案:

答案 0 :(得分:1)

  

string str =“。\ test.dll”来获取   test.dll路径。但我没有得到   进入

的dll路径      

我的想法是我必须得到这条路   变量   STR = “C:\ vsproj \示例\测试\ Test.dll的”

     

但我得到“。\ test.dll”wat是   你能纠正我吗?变量str;   如何获取此中的dll路径   场景...

这正是你要求它做的事情。 想要它所做的事情不会以这种方式实现。

您需要获取当前工作目录并将其添加到“\ test.dll”,而不是仅指定“\ test.dll”。

答案 1 :(得分:0)

检查Filemon程序。它会向您显示代码尝试搜索的位置,并显示您在哪里做错了。

答案 2 :(得分:0)

String与路径无关。怎么能理解你想要的?它只是一个字母集合。

正如其他人所建议的那样,尝试使用_getcwd并在其末尾附加“\ test.dll”。

答案 3 :(得分:0)

您正在寻找的功能是GetFullPathName()。它适用于C字符串,但不适用于C ++字符串。请查看链接文章中的示例。 (您可以放心地忽略有关多线程应用程序的恐慌。单线程应用程序实际上也存在同样的问题。如果当前目录发生更改,..\xyz\也会发生变化。)

答案 4 :(得分:0)

您可以使用 _getcwd(char* buf, int len) 来获取当前的工作目录: