Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > как узнать полный путь по относительному?


Автор: victor79 1.10.2009, 13:54
предположим есть путь "..\..\..\abirvalg\libs\file.txt" и есть путь к текущей папке cwd.
Как узнать полный путь без точек к искомому файлу через WinAPI (именно через WinAPI)?

P.S. Ранее здесь упоминалась функция GetFinalPathNameByHandle - она только для висты, и потому не подойдет. Нужно от 2000 версии.

Автор: GremlinProg 1.10.2009, 14:07
GetLongPathName - это расчет относительно текущей директории
если нужно вычислить путь относительно другой директории,
т.е. cwd - не текущая папка,
то можно использовать SetCurrentDirectory, чтобы временно ее сменить

Добавлено через 1 минуту
Requires Windows Vista, Windows XP, or Windows 2000 Professional

Автор: Alca 1.10.2009, 14:54
путь к ехе-шнику
Код

    CHAR  szRes[MAX_PATH + 1] = {0};
    
    ULONG ulStored = ::GetModuleFileName(NULL, szRes, MAX_PATH);

Автор: GremlinProg 1.10.2009, 14:56
Alca, ты это к чему?

Автор: victor79 1.10.2009, 14:59
>GetLongPathName
Спасибо.

Автор: Alca 1.10.2009, 15:05
Цитата

Alca, ты это к чему?

Цитата

Как узнать полный путь без точек к искомому файлу через WinAPI (именно через WinAPI)?

Путь конктретно к ехе-шнику

Автор: Earnest 1.10.2009, 18:52
Удобнее всего функции Path...:
PathCombine (sFullPath, sDir, sRelPath).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)