Я почитал доку, но буд-то написано одно и тоже - заоверрайдить если файл есть или создать новый. Не понял особо отличия.
1. "r" и "rb", чтение, второе — бинарное (то есть без предобработки на чтение) 2. "w" и "wb" — запись (второе без постобработки), файл очищается 3. "a" и "a+" — append, содержимое сохраняется, запись только в конец, в чём разница хз 4. "r+" — режим обновления, данные сохраняются, seek'ом выставляем любое место в файле и дописываем туда, перезаписывая старые символы на той позиции, или дописывая в конец, имеет постобработку (хотя надо чекнуть rb+) 4. "w+" — режим обновления, данные удаляются, в остальном — см "r+" Расширять файл на середине — нельзя. Если очень хочется — врубаем r+, seek'аем в середину, считываем всё с той позиции до конца, вставляем нужный кусочек и дописываем после него то что сохранили. Если памяти мало/файл большой — можно чанками, но надо извращаться.
Обсуждают сегодня