Как извлечь имя файла, когда даже мой путь неизвестен?

#c

#c

Вопрос:

Я буду использовать файл, загруженный на USB-накопитель, для обновления моей системы, и этот файл изменит свое имя в зависимости от выпущенной версии. Сказал, что я знаю только часть пути, т.е. /run/media/update_1.1.tar

Итак, как я могу: 1 — обработать путь, который изменится 2 — как я могу извлечь только номер версии из этого пути?

Спасибо

Комментарии:

1. Что мешает вам просто перебирать файлы в /run/media/ папке на USB, сравнивая каждое имя файла, чтобы увидеть, начинается ли оно с "update_" , и когда вы найдете совпадение, чем копировать номер версии с конца его? Что вы до сих пор пытались реализовать, и в чем проблема, с которой вы столкнулись?

2. 1: У меня нет опыта работы с c . 2. Мне нужно полное имя, которое нужно добавить к пути, чтобы запустить команду для извлечения файла

3. Ну, я уже изложил различные необходимые шаги в моем последнем комментарии. Вот как вы решаете задачи — разбиваете задачи на более мелкие шаги. Взгляните на std::filesystem::directory_iterator , std::string::compare() . и std::string::substr() чтобы вы начали.

4. Большое вам спасибо! делаю это прямо сейчас

5. @RemyLebeau Я не уверен, почему, но я не могу использовать файловую систему. Я работаю над QtCreator и добавил экспериментальную / файловую систему и до сих пор не могу ее использовать. Есть идеи?