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

Есть папка, в которой большое количество файлов .txt с разными именами, первая часть имени содержит дату, вторая часть, можно считать, случайна. Как открывать для чтения файл, не зная его точного имени один за другим по порядку до конца папки? Может можно из Windows подчерпнуть информацию какой по счету это файл и как-то получить его имя и передать в программу?


Ответы (1 шт):

Автор решения: Serge3leo

Резюме по вопросу. Во-первых, ссылки на англоязычные ответы: Listing the contents of a directory in Fortran и Printing Directory Listing in Fortran.

Во-вторых, относительно содержания тех ответов:

  1. Использование общеупотребительного расширения Fortran call system(...) выглядит сравнительно просто и, при правильном использовании, более менее надёжно. Правда, команда записи списка файлов в файл зависит от системы;
  2. Обвязка над функциями API POSIX opendir()/readdir() несколько сложнее, кроме того для WinAPI потребует доработки, зато эффективно. Правда, использование readdir() небезопасно в многопоточных программах, а использование readdir_r() тоже потребует доработки;
  3. Использование готовых библиотек ссылается на ссылки из документации GNU Fortran. За IFPORT сейчас трудно что-то сказать ввиду заскоков Intel и госдепа США. Модули NAG, как бы, входят в проприетарную библиотеку NAG и, вероятно, Вам недоступны. flibs, в этой части, грязновато написан, могут быть проблемы с многопоточностью и не только, т.к. он делает chdir() и прочая, прочая. fortranposix выглядит заброшенным.
→ Ссылка