Почему рекомендуется иметь пустую строку в конце исходного файла?

Некоторые инструменты стиля кода рекомендуют это, и я не забываю видеть, что некоторые инструменты командной строки Unix предупреждают о недостающей пустой строке.

Каково обоснование для того, чтобы иметь дополнительную пустую строку?

203
задан Ruben Bartelink 19 September 2019 в 19:50
поделиться

4 ответа

Многие старые инструменты работают неправильно, если последняя строка данных в текстовом файле не заканчивается символом новой строки или комбинацией возврата каретки / новой строки. Они игнорируют эту строку, поскольку вместо этого она заканчивается ^ Z (eof).

163
ответ дан 23 November 2019 в 04:57
поделиться

Помимо того, что это более удобная позиция курсора при переходе к концу файла в текстовом редакторе.

Наличие новой строки в конце файла обеспечивает простую проверку того, что файл не был усечен.

34
ответ дан 23 November 2019 в 04:57
поделиться

Пустая строка в конце файла появляется так, чтобы стандартное чтение из входного потока знало, когда прекратить чтение, обычно возвращает EOF, чтобы указать, что вы достигли конца. Большинство языков могут обрабатывать маркер EOF. Именно по этой причине с давних времен в DOS маркер EOF был клавишей F6 или Ctrl-Z, для систем * nix это был Ctrl-D.

Большинство, если не все, фактически будут читать прямо до маркера EOF, так что функция чтения из ввода библиотеки времени выполнения будет знать, когда прекратить чтение дальше. Когда вы открываете поток для режима добавления, он стирает маркер EOF и записывает после него, пока явно не будет вызвано закрытие, в которое он вставит маркер EOF в этой точке.

Старые инструменты ожидали появления пустой строки с маркером EOF. В настоящее время инструменты могут обрабатывать пустую строку и игнорировать ее.

15
ответ дан 23 November 2019 в 04:57
поделиться

Некоторые языки определяют свой входной файл в терминах входных строк, где каждая входная строка представляет собой серию символов, оканчивающихся кареткой. возвращаться. Если их грамматика определена таким образом, то последняя действительная строка файла также должна завершаться возвратом каретки.

4
ответ дан 23 November 2019 в 04:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: