2011-01-27 5 views
7

Я хочу установить текущий каталог в директорию/имя конфигурации решения. как это сделать? Могу ли я использовать глобальные переменные?Как установить рабочий каталог в «каталог решений» в C++

Редактировать: я пытаюсь прочитать файл, и текущий каталог изменяется в середине кода. Я хочу изменить его.

ответ

2

Если ваш текущий каталог меняется, вы, вероятно, должны сохранить свою рабочую директорию при запуске в некоторой переменной, к которой вы можете получить доступ позже, чтобы установить cwd туда. По крайней мере, так я понимаю ваш вопрос.

Для получения cdd this может помочь.

2

Вы пытались использовать переменную окружения $ (SolutionDir)?

Ссылка на эту тему here.

Также, надеюсь, версия VS не имеет значения, но этот ответ представлен на основе предположения, что платформа VS2005.

Надеюсь, это поможет.

1

Вы можете использовать подсистему Posix (<direct.h>) и получить доступ к функциям

_getcwd()/_wgetcwd() Получает текущий рабочий каталог
_chdir()/_wchdir() Устанавливает текущий рабочий каталог

Если вам нужен код, чтобы быть кросс-платформенным, вы можно сделать следующее:

#ifdef _WIN32 
# include <direct.h> 
# define getcwd _getcwd 
# define chdir _chrdir 
#else 
# include <unistd.h> 
#endif 

и использовать getcwd и chdir (без основного подчеркивания).

30

В Visual Studio 2010:

  1. Перейти к свойствам проекта (Rigth нажмите на название проекта в окне Solution Explorer, затем Свойства в контекстном меню).
  2. Затем в разделе «Свойства конфигурации/Отладка» установите Рабочий каталог на $(SolutionDir)$(Configuration)\.