Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать путь к файлу в win32 console 
:(
    Опции темы
RaP1D
Дата 14.11.2008, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 12.10.2008

Репутация: нет
Всего: нет



Как вернуть полный путь к папке, из которой запущено приложение? Дело в том, что мне надо работать с ini, а они создаются в папке windows... Пример с firststeps:

Код

#include "stdafx.h"
#include <windows.h>
#include <WinBase.h>

int _tmain(int argc, _TCHAR* argv[])
{
    WritePrivateProfileStringW(_T("MySection"),_T("Name_autor"), _T("Artem"),_T("my.ini"));
    return 0;
}

PM MAIL   Вверх
Andrey44
Дата 14.11.2008, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1501
Регистрация: 4.12.2006
Где: На работе

Репутация: 2
Всего: 26



GetModuleFileName()


--------------------
????? ??, ??????? ?????.  smile 
PM MAIL WWW ICQ   Вверх
RaP1D
Дата 14.11.2008, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 12.10.2008

Репутация: нет
Всего: нет



Пишу так:
TCHAR buffer[MAX_PATH] = {0};
GetModuleFileName(0, buffer, MAX_PATH);

Как теперь обрезать файл с расширением? Чтобы остался только путь.

И еще, как потом к этому путю преписать my.ini?
PM MAIL   Вверх
system
Дата 14.11.2008, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 16.5.2008

Репутация: 1
Всего: 2



Цитата(RaP1D @  14.11.2008,  15:19 Найти цитируемый пост)
Как теперь обрезать файл с расширением? Чтобы остался только путь.
И еще, как потом к этому путю преписать my.ini? 

найти с конца '\\'

PM MAIL   Вверх
UniBomb
Дата 14.11.2008, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 97



Есть функция main:

Код

int _tmain(int argc, _TCHAR* argv[])


где arg[] - это список параметров, с какими вызывали Вашу программу. Так вот arg[0] всегда содержит путь к экзешнику. Для того, чтобы выделить только папку можно воспользоваться функцией ExtractFilePath




--------------------
PM MAIL ICQ Skype   Вверх
RaP1D
Дата 14.11.2008, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 12.10.2008

Репутация: нет
Всего: нет



Хорошо, а как можно узнать (с помощью какой функции) существует ли файл или нет в текущей директории (не ini, а любой)?
PM MAIL   Вверх
UniBomb
Дата 14.11.2008, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 97



RaP1D, я не зря функцию ExtractFilePath дал в виде ссылки, а не просто перепечатал её код. Всё в тойже базе знаний есть куча статей, например то, что тебя интересует - пыщ!!!111


--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0733 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.