ID Number: Q51665
1.x 2.x 3.00 3.10 3.20 3.21 3.22 3.30 4.00 4.01
MS-DOS
Summary:
If you are writing a program that creates ASCII text files, which
users may want to view with a file lister or editor that you didn't
write you must make a decision of whether or not to terminate the
ASCII text files with a CTRL+Z character. This article addresses this
issue.
More Information:
A CTRL+Z character is ASCII mnemonic SUB, with a value of 1AH. Using a
CTRL+Z character to end a text file is a good idea. The main reason
for this is that there are some popular old text editors around that
get confused if there isn't a CTRL+Z character at the end of the file.
Most recent versions of these programs do not put such restrictions on
your files; however, compatibility is always an issue. In MS-DOS
Versions later than 2.x, this is not as important as it is in Version
2.x.
The most robust way for your application to create text files is to
allow the user to configure your application, so that the user can
make this decision. You can do this via any of the following
mechanisms:
1. Command-line arguments
2. Environment variables
3. Initialization files
4. An installation program that modifies your application
For example, you could have the application default to not placing a
CTRL+Z character at the end of a file, unless the user explicitly
configures your program to do this.
Other operating systems may have similar problems with files that do
or don't have this character in it. The MS-DOS COPY command has
switches to allow users to concatenate multiple text files that are
terminated with a CTRL+Z character into a single text file with no
CTRL+Z characters in it.
In summary, it is preferable to have the ability to configure your
application so that it can write a CTRL+Z character at the end of a
text file (for compatibility with older software). However, these
days, most applications don't require the presence of this character
at the end of the file. The best way is to let the user make this
decision.