Я пытаюсь дать моей программе путь к каталогу и перебрать все файлы в этом каталоге и файлы в подкаталогах, чтобы найти только файлы c и скомпилировать их.Я не хочу использовать readdir \ opendir для этого.Теперь я смог открыть каталог, используя:
(fd = open(".", O_DIRECTORY | O_RDONLY))
, чтобы получить доступ к файлам в каталоге и его подкаталогах. Я хочу использовать системный вызов read ().но как я могу это сделать?когда я хочу прочитать файл, я делаю это так:
char c;
read(fd1, &c, 1) == 1)
, но я предполагаю, что использование символа не является правильным способом ... так что я должен использовать вместо этого?
и последнее: чтобы получить доступ к файлам в подкаталогах (хотя я буду использовать рекурсию для этого), я должен иметь возможность определить, читаю ли я файл подкаталога, я знаю, чтомакрос is_dir может сделать это, но в этом случае я не могу его использовать, так как правильно проверить, является ли он файлом или каталогом?
Любая помощь будет принята