DOCERR: Formatted I/O, Carriage Control, and LPT2

ID: Q57572


The information in this article applies to:
  • Microsoft FORTRAN for MS-DOS, versions 5.0, 5.1
  • Microsoft FORTRAN for OS/2, versions 5.0, 5.1


SUMMARY

The section on "Carriage Control" on Page 78 of the "Microsoft FORTRAN Reference" manual for Version 5.0 states the following:

When formatted I/O is used to transfer a record to a terminal device, such as screen or printer, the first character of that record is interpreted as a carriage control character, and is not printed.
This is not true for printers connected to LPT2. Thus, the carriage control characters listed on Page 79 of the FORTRAN reference manual will not be interpreted properly for the printers connected to LPT2.

The following program is supposed to form feed and then print "5 years". However, it does not form feed and it prints "15 years":

      open (10, file='LPT2', status='OLD')
      write(10,200)
200   format ('15 years')
      end 
To get the desired behavior, either change 'LPT2' to 'LPT1' in the OPEN statement and connect the printer to LPT1, or use the CHAR function to send the carriage control characters to the printer on LPT2. The following code sample demonstrates the second workaround:

      open (10, file='LPT2', status='OLD')
      write(10,200) char(12)   ! Form Feed - ASCII 12
200   format (a1,'5 years')
      end 

Additional query words: 5.00 nofps 5.10

Keywords :
Version : :5.0,5.1
Platform :
Issue type :


Last Reviewed: November 3, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.