FORTRAN 77 Language Reference

Space, 0, 1, and +

The following first-character slew controls and actions are provided:

Table 5-4 Carriage Control with Blank, 0, 1, and +


Vertical spacing before printing  





One line  

Two lines  

To first line of next page  

No advance (stdout only, not files)

If the first character of the format is not space, 0, 1, or +, then it is treated as a space, and it is not printed.

The behavior of the slew control character + is: if the character in the first column is +, it is replaced by a control sequence that causes printing to return to the first column of the previous line, where the rest of the input line is printed.

Space, 0, 1, and + work for stdout if piped through asa.

Example: First-character formatting, standard output piped through asa:

demo% cat slew1.f
	WRITE( *, '("abcd")') 
	WRITE( *, '(" efg")')  The blank single spaces
	WRITE( *, '("0hij")')  The "0" double spaces
	WRITE( *, '("1klm")')  The "1" starts this on a new page
	WRITE( *, '("+", T5, "nop")')  The "+" starts this at col 1 of latest line
demo% f77 -silent slew1.f
demo% a.out | asa | lpr

The program, slew1.f produces file, slew1.out, as printed by lpr:


 klmnop               This starts on a new page.  The + of +nop is obeyed.

The results are different on a screen; the tabbing puts in spaces:

 demo% cat slew1.out

    nop       This starts on a new page. The + of +nop is obeyed.

See asa(1).

The space, 0, and 1, and + work for a file opened with:

Example: First-character formatting, file output:

demo% cat slew2.f
	OPEN( 1,FILE='slew.out',FORM='PRINT' ) 
	WRITE( 1, '("abcd")') 
	WRITE( 1, '("efg")') 
	WRITE( 1, '("0hij")') 
	WRITE( 1, '("1klm")') 
	WRITE( 1, '("+", T5, "nop")') 
demo% f77 -silent slew2.f
demo% a.out

The program, slew2.f, produces the file, slew2.out, that is equal to the file, slew1.out, in the example above.

Slew control codes '0', '1', and '+' in column one are in the output file as '\n', '\f', and '\r', respectively.