我在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路径...
答案 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) 来获取当前的工作目录: