Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2009, 22:28   #1
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию Расположение файла

Как узнать текущее расположение исполняемой программы?
з.ы. C++ Builder
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Старый 23.06.2009, 22:33   #2
StudentPolitech
Форумчанин
 
Аватар для StudentPolitech
 
Регистрация: 21.11.2008
Сообщений: 400
По умолчанию

где и сам бильдер)))))))
Винда, KIS 2010, книжка по С/С++, остальное неважно........
StudentPolitech вне форума Ответить с цитированием
Старый 23.06.2009, 22:38   #3
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию

не... Допустим пользователь скинул програмку себе на комп, так мне надо как-то узнать куда именно это было скинуто для подключения внешних файлов настроек и данных.
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Старый 23.06.2009, 22:45   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
TCHAR dir[100];
GetModuleFileName(NULL,dir,100);
ShowMessage(dir);
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 23.06.2009, 23:29   #5
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию

хм... а как его запихоть в эту строку?
Код:
TIniFile *Ini = new TIniFile("lOptions.ini");
Попробовал так:
Код:
TIniFile *Ini = new TIniFile(location+"lOptions.ini");
Выдает ошибку:
Цитата:
[BCC32 Error] Unit1.cpp(455): E2085 Invalid pointer addition
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Старый 23.06.2009, 23:35   #6
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Цитата:
Сообщение от xLoMMx Посмотреть сообщение
хм... а как его запихоть в эту строку?
Код:
TIniFile *Ini = new TIniFile("lOptions.ini");
Попробовал так:
Код:
TIniFile *Ini = new TIniFile(location+"lOptions.ini");
И не удивительно, вы не задали тип указателю...

p.s. Как в принципе и не создали его изначально.

p.s.s А вообще, выкладывайте листинг- посмотрим

Последний раз редактировалось vasek123; 23.06.2009 в 23:39.
vasek123 вне форума Ответить с цитированием
Старый 23.06.2009, 23:36   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Попробуйте так:
Код:
lstrcat(location,"lOptions.ini");
TIniFile *Ini = new TIniFile(location);
Только не забывайте, что с помощью GetModuleFileName вы получаете полный путь включая само имя файла. И перед строками выше нужно вырезать только путь.

Цитата:
Сообщение от vasek123
И не удивительно, вы не задали тип указателю...
Какому указателю?
Код:
TIniFile *Ini
вот тип.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 23.06.2009 в 23:40.
Sazary вне форума Ответить с цитированием
Старый 23.06.2009, 23:40   #8
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию

Цитата:
И перед строками выше нужно вырезать только путь.
А можно с этим по подробнее? прсто первый раз столкнулся...
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Старый 23.06.2009, 23:44   #9
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Цитата:
Сообщение от Sazary Посмотреть сообщение
Какому указателю?
Код:
TIniFile *Ini
вот тип.
Упс... Удалите мои сообщения.
vasek123 вне форума Ответить с цитированием
Старый 23.06.2009, 23:50   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от xLoMMx
А можно с этим по подробнее? прсто первый раз столкнулся...
Что-то вроде этого:
Код:
TCHAR location[100],str[100],*p;
GetModuleFileName(NULL,location,100);
p = strrchr(location,'\\');
strncpy(str,location,p-location+1);
lstrcat(str,"lOptions.ini");
//ShowMessage(str);
TIniFile *Ini = new TIniFile(location);
vasek123, да пусть живут )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взаимное расположение окружностей изобразить StakanpORTvejna Общие вопросы Delphi 6 21.05.2009 21:35
SetWindowPos (точное расположение) BOBAH13 Win Api 2 19.02.2009 08:39
Расположение таблицы Yaga HTML и CSS 7 05.02.2009 22:15
Особое расположение формы delphicn Общие вопросы Delphi 0 02.02.2009 15:06
Расположение и размер формы Marsik Помощь студентам 6 25.03.2008 15:14