Работа с директориями на Windows, c
Планирую написать прогу для прогулки по директориям и поиска необходимых файлов, а затем действиями с этими файлами, но уперся в то, что на Винде некоторые (большинство, очевидно) линуксовских библиотек и функций либо отсутствуют вовсе (findnext, struct ffblk (?) в dir.h), либо определены немного уже (как в случае со struct dirent в dirent.h). Пользуюсь gcc. В попытке разобраться, как адоптироваться, впал в жесточайшую депрессию, которая вот-вот обернется установкой Линукса.
Вопрос(ы):
-как адаптировать приведенный ниже псевдокод (буду рад сслыкам в том числе)
-стоит ли, между прочим, переходить на Линукс (вопрос не основной, прошу не засорять тему ответами на него)`
void dirwaker(const char * dir){
DIR * d = opendir(dir);
if(!d) return;
strcut dirent *ent;
while((ent = readdir(d))!=NULL){
if(ent->d_type==DT_DIR)
dirwalker(dir "+" / + "+"ent->d_name); //"+" - условный плюс. Подразумевается склейка строк
//танцуем
if(ent->d_name == "я файл"){
//беснуемся
}
}
}
`
Ответы (1 шт):
Для поиска файлов Windows предоставляет функции FindFirstFile, FindNextFile и иже с ними