Текущее местоположение в файле поддерживается ядром. Я думаю, дескриптор файла служит ключом ко всей информации, связанной с открытым файлом.
Если вам нужно открыть и прочитать два файлав то же время они, конечно, не должны совместно использовать дескриптор файла. Просто используйте два, по одному на файл.
const int fd1 = open("file.txt", O_RDONLY);
const int fd2 = open("file1.txt", O_RDONLY);
Обработка char *file
в вашем коде не имеет смысла, но на этом этапе вы можете смешивать обращения к fd1
и fd2
.
Не забудьте закрыть файлы, когда вы закончите:
close(fd2);
close(fd1);
В реальном коде вы также проверите, что открытые вызовы выполнены успешно, прежде чем пытаться выполнить ввод / вывод из файла (ов)конечно.