Specifying Storage Format [ Accessing Files Programmer's Guide ] MPE/iX 5.0 Documentation
Accessing Files Programmer's Guide
Specifying Storage Format
Devices on the HP 3000 can transmit information in ASCII (American
Standard Code for Information Interchange) and/or binary code, depending
on the device.
For example, a line printer handles ASCII formatted data, while a disk
can transmit and store data in either format. You can use appropriate
optional parameters in HPFOPEN/FOPEN to specify the code (ASCII or
binary) in which a new file is to be recorded when it is written to a
device that supports both codes.
NOTE It is even possible to transmit and store data in EBCDIC, as long
as the application program or subsystem (FCOPY, for example)
handles the decoding/encoding. EBCDIC is not handled automatically
by MPE/iX.
With many devices, there is no restriction on the data actually
transferred to or from the file; you can write ASCII data to a binary
file, or binary data to an ASCII file. You can specify the type of code
that you want, or accept the MPE/iX default for the device that you are
using.
When the allocated record space is not filled by data, MPE/iX pads the
unused space with a fill character instead of good data. If you accessed
this unused portion of a record (for example, with the inhibit buffering
option set to NOBUF), you would find in the unallocated record space the
fill character specified at file creation.
The fill character may be different depending upon the mechanism you used
to create the file. If you create the file with FOPEN or BUILD, MPE/iX
pads an ASCII file with blanks and a binary file with zeros. If you
create the file with HPFOPEN, MPE/iX pads the file with the fill
character specified by the fill character option (if not specified, the
default fill character for files created with HPFOPEN is blanks for ASCII
files and NULL characters for binary files).
Examples of ASCII files on the HP 3000 include program source files,
general text and document files, and MPE/iX stream files containing
MPE/iX commands. Examples of binary files include program files
containing linked object code, and application data files.
MPE/iX 5.0 Documentation