C: Синхронизация двух файловых указателей в одном файле
Мне нужны два файловых указателя (FILE *
) действовать рядом друг с другом. Одним из них является применение операций добавления, а другим - чтение и перезапись.
Мне нужно добавить в файл один указатель, чтобы он был распознан другим указателем файла, чтобы другой указатель файла мог как правильно читать, так и перезаписывать эти добавленные данные.
Для синхронизации данных, кажется, что с помощью fflush()
на добавляемый файл указатель работает (по крайней мере, для чтения он работает), но это правильный путь для достижения того, что я хочу, и это портативный?
Спасибо.
1 ответ
Вы должны быть в состоянии сделать это с одним указателем (и, следовательно, не нужно синхронизировать без необходимости). Просто используйте fseek(f, SEEK_END, 0);
когда вы хотите добавить в конце. Используйте "rb+", чтобы сделать файл читаемым и доступным для записи.
Пока вы не используете несколько потоков для доступа к файлу, это должно работать нормально.