Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ и WinAPI
Войти
Регистрация
Восстановить пароль
 
zombivadim
8 / 8 / 1
Регистрация: 03.04.2016
Сообщений: 218
#1

Как отделить путь от имени файла с расширением - C++ WinAPI

04.07.2016, 22:00. Просмотров 558. Ответов 6
Метки нет (Все метки)

допустим есть готова переменная
C++
1
printf("The file found  %s\n", FileName);
FileName содержит путь и имя файла, как легче всего отрезать имя файла для дальнейшего использования пути ? К примеру файл нужно переименовать.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2016, 22:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как отделить путь от имени файла с расширением (C++ WinAPI):

Отделить название файла от полного пути
Да-да, уже есть много тем, но ничего нормально не нашёл, вот, что имеется:...

Как из DLL узнать путь до исполняемого файла, который ее подгрузил
Это наверное где то здесь: BOOL APIENTRY DllMain( HMODULE hModule, ...

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

Соответствия между расширением имени файла и MIME-типом данных
Всем доброго времени суток. Столкнулся с такой проблемой. На веб-сервере...

Узнать полный путь с названием и расширением файла своей программы
Как узнать полный путь с названием и расширением файла своей программы?

По имени файла возвратить путь
Здравствуйте,подскажите пожалуйста, мне необходимо по имени exe файла...

6
Убежденный
Ушел с форума
Эксперт С++
15941 / 7252 / 1176
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
04.07.2016, 22:19 #2
Загружаешь FileName в string. Делаешь find_last_of с поиском слэша.
Далее используешь метод substr, чтобы разделить строку на путь и
имя файла. Либо можно использовать WinAPI-функции с префиксом Path,
такие как PathStripPath и т.п.
0
zombivadim
8 / 8 / 1
Регистрация: 03.04.2016
Сообщений: 218
04.07.2016, 23:24  [ТС] #3
Убежденный, Как все скупы на примеры, хотя бы маленький для WinAPI..
0
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
09.07.2016, 21:38 #4
Ну, примерно:
C++
1
2
3
4
5
6
7
8
9
10
std::string getFileName(const std::string& str){
    std::string result;
    std::string::size_type pos = str.find_last_of("\\/");
    if(pos == std::string::npos){
        result = str;
    }else{
        result = str.substr(pos+1);
    }
    return result;
}
0
gazlan
3139 / 1915 / 311
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
09.07.2016, 23:04 #5
Лучший ответ Сообщение было отмечено zombivadim как решение

Решение

Цитата Сообщение от zombivadim Посмотреть сообщение
Как все скупы на примеры, хотя бы маленький для WinAPI
_splitpath, _makepath
1
zombivadim
8 / 8 / 1
Регистрация: 03.04.2016
Сообщений: 218
09.07.2016, 23:27  [ТС] #6
gazlan, Я уж разобрался _splitpath, лучше всего)
0
mr_eoi
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 1
05.08.2016, 14:26 #7
Если чисто WinAPI, то PathFindFileName.
0
05.08.2016, 14:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.08.2016, 14:26
Привет! Вот еще темы с решениями:

как сделать проверку на наличие похожего имени файла и запрос нового имени файла?
При загрузке изображения присваивается имя foto.jpg. Вопрос, как сделать...

Вывод имени файла, зная его полный путь
Подскажите как вывести имя файла. Много чего находил но чисто имени файла...

Регуляркой вырезать путь до последней папки, без имени файла
Есть адреса нужна регулярка, чтобы работала на адреса, типа:...

Есть ли функция возврата имени файла если известен его путь?
Есть ли функция возврата имени файла если известен его путь? в VB net такая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru