Вы рискуете лопнуть по числу открытых дескрипторов. Надо открывать один файлик, писать/читать его, а потом закрывать и браться за следующий. Кроме того, у вас нет внятной обработки ошибок ввода/вывода.