Jump to content

End-of-file

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by LouDogg (talk | contribs) at 00:44, 1 December 2006. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computing, end-of-file, commonly abbreviated EOF, is a condition in a computer operating system where no more data can be read from a data source. The data source is usually called a file or stream.

In the C Standard Library, file access and other I/O functions may return a value equal to the symbolic value (macro) EOF to indicate that an end-of-file condition has occurred. The actual value of EOF is a system-dependent negative number, commonly -1. The macro EOF is expanded to the actual value by a preprocessor before compiling the source code.

In UNIX an end-of-file indication can be sent from an interactive shell (console) by typing Ctrl+D (conventional standard). In Microsoft's DOS and Windows it is sent by pressing Ctrl+Z. In certain cases when dealing with text files or reading data from a "character device", the Microsoft MS-DOS shell (COMMAND.COM) or operating-system utility programs would historically append an ASCII control-Z character to the end of a disk file (though the basic kernel MSDOS.SYS file write calls never appended a control-Z). This was done for backward compatibility with some of the peculiarities of CP/M, since the CP/M filesystem only recorded the lengths of files in terms of how many 128-byte "records" were allocated. The MS-DOS filesystem has always recorded the exact byte-length of files from its very first version.

ASCII control characters are out-of-band non-printing characters in a character stream. They are normally represented by a more readable mnemonic.