00093. Работа с файлами ( Дозапись )
Работа с файлами ( Дозапись )|В предыдущем уроке мы говорили о записи файла и него чтение. Сегодня наш урок посвящен дозаписи.|wmysterio|wmysterio||||Всем привет! Если открыть файл режимом "wt", то содержимое файла теряется. Если нужно сохранить это содержимое и в свою очередь добавить новую информацию, то нам понадобится режим "at", который и делает дозапись в конец файла.
Давайте напишем скрипт, который будет вести лог. Например, вести мониторинг координат СЖ и его угола каждую секунду и записывать в файл ( пока не будет зажата клавиша 1 ):
Запускаем игру и побродим некоторые время по игровому миру. Проверяем файл и что мы видим? :
Ура! Данные успешно занесены в файл! Но... АААА!!!! Как безобразно всё это выглядит! Неудобство чтения просто зашкаливает! От сюда и возникает вопрос "Как записать данные файла с новой строки?". Ответ дал мне пользователь DK22Pac. Как оказалось нужно было добавить в конце строки специальные коды, который подразумевает перенос строки ( символы окончания и переноса строки ). Следовательно, наш опкод для записы будет выглядеть следующим образом:
0xD 0xA - это и есть те коды, которые делают переход на новою строку, в конце строки прописываются как идентификатор символа ( %c). Давайте обновим наш скрипт:
Давайте посмотрим на результат:
Выглядит куда удобнее! Этим методом мы можем сделать, например файл с координатами спавна случайных актёров. Давайте переделаем наш скипт:
Если мы допысали код символа, то при считывании мы тоже должны считать его опкодом "0ADA", выделив 2 переменные для записи в них кодов переноса. Результат скрипта:
Создались актёры, в тех местах, где был СЖ при дозаписи файла. И, напоследок, расскажу вам о текстовых и бинарных файлах ( rt - rb, wt - wb, at - ab ). Вообще, принципиальной разницы между текстовыми файлами и бинарными нет, но открытие бинарного файла как текстового могут наблюдаться "косяки". Например, при записи в текстовые файлы все одиночные символы "\r" ( символ перевода на новую строку в Mac OS ) или "\n" ( символ перевода на новую строку в Unix ) заменяются на 2 символа "\r\n" ( перевод на новую строку в Windows ). Поэтому, если работаете с бинарным файлом, открывайте его как бинарный, если с текстовым - открывайте его как текстовый.
Надеюсь, эта информация была для Вас полезной :) Немного позже выложу урок, как записать данные в определённое место файла.|1511|1|0|00269069png
440330
399300``\|60046112
png500
300400
240\|83210492`png`769`117`400`60
||rabota_s_fajlami_dozapis|1504427021
Last updated