Я предполагаю, что рабочий процесс типичного текстового редактора -
open file
|
v
read file ===========> memeory
into memory ^
| ǁ
v ǁ
user input ==============="
Затем, когда пользователь нажимает команду Save
, что на самом деле происходит?Я предполагаю, что реализация различается в разных редакторах, но должно быть какое-то типичное поведение (или несколько типичных поведений на выбор).
Приложение редактора просто переопределяет файл с содержимым в памяти?Или он сначала изменяет память и диск, а затем записывает их постепенно (например, используя fseek
)?
Существует ли какая-либо широко используемая библиотека для этого типа использования (читать текстовый файл и синхронизировать его с диском по требованию)?И в этом отношении я в настоящее время работаю над проектом nodejs
, но сам язык не является проблемой, так как всего, на что можно сослаться, будет достаточно.