2015-04-24 2 views
-2

я в настоящее время имеют короткую программу для чтения и сортировки текста плитки в С.Как читать все .txt файлы в директории в C

Если я хочу прочитать много файлов, есть заменитель:

FILE *f f = fopen("*.txt", "rw");

Заранее спасибо.

+0

Исследуйте 'findfirst' и' findnext' (MSVC) и их варианты. –

+2

Это очень специфичная для ОС функция. В linux вы используете семейство функций «dirent». –

+0

Помимо слишком широкого (вы даже попробовали что-нибудь?), Есть много похожих вопросов на SO с ответами для Linux, простой DOS и Windows. Выберите любой. – usr2564301

ответ

0

f = fopen ("*. Txt", "rw"); не будет работать в любом случае.

Обычный способ сделать это, вероятно, зависит от вашей операционной системы. В Unix-подобных системах простым способом является вызов вашей программы с помощью командной строки, такой как «my_pgm * .txt», и пусть оболочка найдет соответствующие файлы. (Вы получите несколько аргументов, каждый из которых будет именем файла.) Я понимаю, что для ОС Microsoft требуется, чтобы программа сама находила файлы.

Чтобы сделать это более или менее переносимым, я бы, вероятно, использовал opendir() и readdir(), чтобы изучить записи в каталоге и посмотреть, соответствуют ли они желаемому шаблону.