2017-02-19 8 views
0

В Ada вы можете открывать, писать, закрывать, а затем открывать, записывать и закрывать txt-файл, не перезаписывая его? Как продолжить с того места, где он последний раз? Спасибо!Ada: пишите в файл несколько раз

+4

«добавить» слово, которое вы ищете? Существует режим «append_file», который вы можете предоставить параметру режима в открытом вызове ... –

+0

точно @BrianDrummond – Numnumberry

+0

Sweet! Теперь проблема в том, что каждый раз, когда я пишу в файл снова, он переходит к следующей строке. В любом случае, чтобы это предотвратить? @BrianDrummond – Numnumberry

ответ

4

Да. Если вы смотрите в разделе A.10.1 в справочном руководстве, вы можете увидеть, что пакет включает Ada.Text_IO декларацию:

type File_Mode is (In_File, Out_File, Append_File); 

Append_File является режим вы ищете.

А.10.2 (3) в справочном руководстве требует, чтобы вы получите новую строку, когда вы закрываете файл:

Для процедуры Close: Если файл имеет текущий режим Out_File или Append_File, имеет эффект вызова New_Page, если только текущая страница не была завершена; затем выводит терминатор файла.

... где A.10.5 (16) объясняет, что делает New_Page:

Работает на файле режима Out_File или Append_File. Выводит терминатор линии, если текущая строка не завершена, или если текущая страница пуста (то есть, если текущий столбец и номера строк равны единице). Затем выводит терминатор страницы, который завершает текущую страницу. Добавляет один к текущему номеру страницы и устанавливает текущие номера столбцов и строк в единицу.

Если вы хотите более детально контролировать, что попадает в файл, вы должны использовать один из других пакетов ввода-вывода.

Смежные вопросы