170 похожих чатов

А как можно в с++ найти определённый файл на диске?

Гуглирую час уже, ответы только под линукс, а для винды ничего нет, хотя вещь вроде как элементарная.

17 ответов

19 просмотров

https://en.cppreference.com/w/cpp/filesystem

Егор-Соколов Автор вопроса
Sergey Anisimov
https://en.cppreference.com/w/cpp/filesystem

надо каждую папку превращать в список и чекать по нему содержимое? Или я просто не вижу прямой функции на поиск?

Егор Соколов
надо каждую папку превращать в список и чекать по ...

Итерируйтесь рекурсивно по директориям, да. Переносимых globbing-expression'ов все равно нет, а какой-то омнипотентный search, полагаю, имел бы очень тяжеловесный интерфейс (вспомните, например, интерфейс find-утилиты) и высокую алгоритмическую ригидность, чтобы быть востребованным.

С чего ты взял что элементарная?

Давай начнем с того, как ты файл определишь, ЧТО надо искать?

Егор-Соколов Автор вопроса
Ilya Zviagin
Давай начнем с того, как ты файл определишь, ЧТО н...

Ну вообще я думал просто вписать название файла. Я хотел что то типа: FindFile(“file.txt”, “c://”); Но я уже оставил эту задачу. Видел там выше советовали книгу Стивена Прата, решил её почитать пока что, а то сложно. Любую документацию открываю и ничего не понимаю.

Егор Соколов
Ну вообще я думал просто вписать название файла. Я...

Ну, а ты в курсе вообще, что имён у файла может быть много? Ты в курсе, что файловая система современного компьютера -- это нифига не дерево? (прикольно, но многие производители антивирусов ТОЖЕ этого не знают)

Егор Соколов
Ну вообще я думал просто вписать название файла. Я...

Задача поиска файла в итоге -- вовсе не простая, очень.

Егор-Соколов Автор вопроса
Ilya Zviagin
Ну, а ты в курсе вообще, что имён у файла может бы...

Я пришёл в плюсы из питона, там было всё проще

Найти по имени или пути?

Егор Соколов
По имени

FindFirstFile, FindNextFile https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-findfirstfilea

Хм, у меня вот третья ссылка в гугле. И под винду есть, и через либы, и через современный С++ https://www.bfilipek.com/2019/04/dir-iterate.html

Denis Pr
Хм, у меня вот третья ссылка в гугле. И под винду ...

Вопрос не настолько прост, если мы заговорим о производительности

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта