Я знаю, что делает io.open(file, "w")
, он указывает на написание. Однако я столкнулся с io.open(file, "w+")
и не могу найти, что делает «w +»?Строка файла открытого файла w +
ответ
В справочном руководстве io.open
Строка
mode
может быть любым из следующих:
- "г": режим (по умолчанию) для чтения;
- "w": режим записи;
- «a»: append mode;
- «r +»: режим обновления, все предыдущие данные сохранены;
- «w +»: режим обновления, все предыдущие данные стираются;
- «a +»: добавить режим обновления, сохранены предыдущие данные, запись разрешена только в конце файла.
режим обновления здесь означает, что вход и выход может быть выполнена на соответствующем файле .
Это не отвечает на вопрос, который я считаю разумным. В большинстве языков есть два варианта написания файла: «append» добавляет лишний материал в конец существующего файла, а «write» заполняет существующее содержимое файла и начинает писать с байтового номера 0. Я прочитал этот самый раздел руководство и оказалось здесь для уточнения. –
@NULLpointer Большинство языков, действительно? Эти режимы доступны, по крайней мере, в C/Python/Ruby/Lua ..., а некоторые другие языки неявно поддерживают все эти режимы каким-то образом инкапсулированным образом, что имеет место для C++/Java. –
Это лучше!Ваше редактирование добавило ключевую информацию, которая отсутствовала - как ввод, так и вывод могут быть выполнены с помощью w + –
Я испытал это в Lua 5.1 работает на OpenWRT и нашел
file=io.open("/usr/share/result","w")
был таким же, как
file=io.open("/usr/share/result","w+")
Оба действия стерта текущее содержимое файла и переписал его.
Когда я попытался
file=io.open("/usr/share/result","a")
Файл был прилагаемый к - она получила больше и больше каждый раз, когда мой код побежал.
Так что я не думаю, что есть разница.
Этот ответ неверен. Разница между ** режимом записи ** и ** режимом обновления **: с режимом '' w '', вы можете выводить только в файл, а в режиме '' w + "' могут выполняться как вход, так и вывод , –
Как вы заметили, вы действительно думаете, что разработчик языка (а не только Lua, но также C/Python/Ruby и т. Д.) Сохранит оба значения, если '' w "и' "w +" 'были действительно одинаковыми? –
io.open просто использует Еореп С. Вы можете проверить руководство по Еорепу в С.
- ш: Обрезать файл до нулевой длины или создать текстовый файл для записи. Поток расположен в начале файла.
- w +: то же, что и w, кроме возвращенной ручки можно использовать для
чтение.
- 1. Первая строка Javascript-файла - var w = w || {};
- 2. Командная строка открытого файла в Python26 \ Scripts
- 3. Удаление открытого файла, открытого потоком
- 4. Получение путь открытого файла
- 5. Чтение из открытого файла
- 6. Расширение файла открытого файла в VB.NET
- 7. определить имя файла открытого (рабочего) файла
- 8. Отобразить имя текущего открытого файла?
- 9. Открытие уже открытого файла не вызывает исключение
- 10. Разница между режимами открытого файла в c
- 11. Сохранение открытого файла Excel программно
- 12. Слушатель открытого файла в Eclipse
- 13. Показать текст из открытого файла
- 14. WPF TabItem Имя открытого файла
- 15. Получение открытого файла в VSCode
- 16. Как получить имя открытого файла?
- 17. Переписывание открытого файла в Windows
- 18. Сохранение открытого файла без подсказок
- 19. python получить данные из уже открытого файла
- 20. ActionMailer - Прикрепление файла с помощью открытого
- 21. проблема поиска файла w/php
- 22. Чтение содержимого файла, открытого с помощью ifstream
- 23. Почему FILE * не хранит адрес открытого файла
- 24. Как получить имя файла, открытого JFilechooser?
- 25. Сплит строка из текстового файла
- 26. Разбор текстового файла с использованием открытого csv
- 27. имя файла для открытого файла специального символа в коде драйвера
- 28. Получить fileno() для файла, открытого текущим pid, используя имя файла?
- 29. Как определить изменение имени файла открытого файла в Golang
- 30. Автоматически чирикать имя файла файла, открытого с помощью photoshop
У меня такой же вопрос - почему у lua есть три режима написания: «Пишите», «Добавить» и «Написать +»? –