путь к файлу - разобрать на составные части
От: Snivellus Россия  
Дата: 23.12.05 20:34
Оценка:
Здравствуйте!

У меня есть строка — путь к файлу. Хочется узнать путь к каталогу, где лежит файл, а также является ли путь абсолютным или относительным. Понятно, что все это можно повыкусывать с помощью функций работы со строками, однако говорят, что для подобного парсинга существуют стандартные средства.
Подскажите, пожалуйста, по каким ключевым словам мне надо RTFM. У меня фантазии не хватило. Интересуют обычные библиотечные методы и/или MFC.

31.12.05 09:16: Перенесено модератором из 'C/C++' — Павел Кузнецов
Re: путь к файлу - разобрать на составные части
От: Аноним  
Дата: 23.12.05 21:38
Оценка:
Здравствуйте, Snivellus, Вы писали:

Можно посмотреть класс boost::filesystem::path.
Re: путь к файлу - разобрать на составные части
От: Dirichlet Россия  
Дата: 23.12.05 23:27
Оценка: 3 (2)
Здравствуйте, Snivellus, Вы писали:

S>У меня есть строка — путь к файлу. Хочется узнать путь к каталогу, где лежит файл, а также является ли путь абсолютным или относительным. Понятно, что все это можно повыкусывать с помощью функций работы со строками, однако говорят, что для подобного парсинга существуют стандартные средства.

S>Подскажите, пожалуйста, по каким ключевым словам мне надо RTFM. У меня фантазии не хватило. Интересуют обычные библиотечные методы и/или MFC.

В Visual Studio есть пара функций:

Break a path name into components.

void _splitpath(
   const char *path,
   char *drive,
   char *dir,
   char *fname,
   char *ext 
);
void _wsplitpath(
   const wchar_t *path,
   wchar_t *drive,
   wchar_t *dir,
   wchar_t *fname,
   wchar_t *ext 
);


Несмотря на то, что эти функции являются Microsoft-specific, похожие функции есть почти во всех компиляторах. Часто данную функцию называют _fsplit.
Re[2]: путь к файлу - разобрать на составные части
От: Snivellus Россия  
Дата: 24.12.05 19:25
Оценка:
Спасибо, _wsplitpath — это ровно то, что мне было нужно.
Re[3]: путь к файлу - разобрать на составные части
От: programmater  
Дата: 26.12.05 08:38
Оценка: +1
Здравствуйте, Snivellus, Вы писали:

S>Спасибо, _wsplitpath — это ровно то, что мне было нужно.

Еще не стоит забывать о такой длл, как shlwapi.dll, она содержит богатый набор функций для работы с путями и именами файлов (чего стоит только одна PathCompactPath). Для такий целей очень рекомендую.
Re[4]: путь к файлу - разобрать на составные части
От: Chez Россия  
Дата: 26.12.05 09:55
Оценка:
Здравствуйте, programmater, Вы писали:

P>Здравствуйте, Snivellus, Вы писали:


S>>Спасибо, _wsplitpath — это ровно то, что мне было нужно.

P>Еще не стоит забывать о такой длл, как shlwapi.dll, она содержит богатый набор функций для работы с путями и именами файлов (чего стоит только одна PathCompactPath). Для такий целей очень рекомендую.
Да, в частности
PathRemoveFileSpec
PathIsRelative.

Chez, ICQ#161095094

Posted via:RSDN@Home;version:1.1.3;muzikstamp:silent

Re: путь к файлу - разобрать на составные части
От: Balbes55 Украина  
Дата: 26.12.05 21:03
Оценка:
Здравствуйте, Snivellus, Вы писали:

S>Здравствуйте!


S>У меня есть строка — путь к файлу. Хочется узнать путь к каталогу, где лежит файл, а также является ли путь абсолютным или относительным. Понятно, что все это можно повыкусывать с помощью функций работы со строками, однако говорят, что для подобного парсинга существуют стандартные средства.

S>Подскажите, пожалуйста, по каким ключевым словам мне надо RTFM. У меня фантазии не хватило. Интересуют обычные библиотечные методы и/или MFC.

www.codeproject.com/file/cpath.asp
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.