что не так в моем коде, получающем текущий путь к странице? - PullRequest
0 голосов
/ 20 августа 2009

У меня есть файл visualstudio vcproj по адресу c: \ vsproj \ example \ test \ test.vcproj

по этому пути у меня есть некоторые другие файлы, такие как файл e test.cpp, а также есть dll test.dll.

полностью по пути c: \ vsproj \ example \ test, у меня есть

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

обычно, чтобы получить путь к папке cuurent, мы используем ". \", Поэтому я применил метод, чтобы получить

путь к DLL, который находится там, где находится файл test.cpp

теперь в test.cpp, где-то еще я написал

string str = ". \\ test.dll" для получения пути test.dll. Но я не получаю путь DLL в

моя идея в том, что мне нужно получить путь в переменной str = "c: \ vsproj \ example \ test \ test.dll"

но я получаю ". \ Test.dll" Ват неправильно, вы можете исправить меня ?? переменная str; как получить путь DLL, что в этом сценарии ...

Ответы [ 5 ]

1 голос
/ 20 августа 2009

string str = ". \ Test.dll", чтобы получить путь test.dll. Но я не получаю путь DLL в

моя идея в том, что я должен проложить путь в переменная ул = "C: \ vsproj \ пример \ тест \ test.dll"

но я получаю ". \ Test.dll" неправильно ты можешь исправить меня ?? переменная str; как получить путь DLL, что в этом сценарий ...

Он делает именно то, что вы просите. То, что вы, похоже, хотите сделать, не будет достигнуто таким образом.

Вам нужно получить текущий рабочий каталог и добавить его к «\ test.dll», а не просто указывать «\ test.dll».

0 голосов
/ 21 августа 2009

вы можете использовать _getcwd (char * buf, int len) , чтобы получить текущий рабочий каталог:

0 голосов
/ 20 августа 2009

Функция, которую вы ищете: GetFullPathName(). Он работает на строках C, а не на C ++. Посмотрите на примеры в связанной статье. (Вы можете спокойно игнорировать панические биты о многопоточных приложениях. Та же самая проблема фактически существует и для однопоточных приложений. Если текущий каталог изменяется, ..\xyz\ также изменяется.)

0 голосов
/ 20 августа 2009

Строка не имеет ничего общего с путями. Как он мог понять, что вы хотите? Это просто собрание писем.

Как и предлагали другие, попробуйте использовать _getcwd и добавить "\ test.dll" в конце.

0 голосов
/ 20 августа 2009

проверка с помощью программы Filemon. он показывает вам, где код пытается найти и показывает, где вы делаете неправильно ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...