4.3BSD-Tahoe/usr/man/cat3f/ioinit.0
IOINIT(3F) UNIX Programmer's Manual IOINIT(3F)
NNAAMMEE
ioinit - change f77 I/O initialization
SSYYNNOOPPSSIISS
llooggiiccaall ffuunnccttiioonn iiooiinniitt ((ccccttll,, bbzzrroo,, aappnndd,, pprreeffiixx,, vvrrbboossee))
llooggiiccaall ccccttll,, bbzzrroo,, aappnndd,, vvrrbboossee
cchhaarraacctteerr**((**)) pprreeffiixx
DDEESSCCRRIIPPTTIIOONN
This routine will initialize several global parameters in
the f77 I/O system, and attach externally defined files to
logical units at run time. The effect of the flag arguments
applies to logical units opened after _i_o_i_n_i_t is called. The
exception is the preassigned units, 5 and 6, to which _c_c_t_l
and _b_z_r_o will apply at any time. _I_o_i_n_i_t is written in
Fortran-77.
By default, carriage control is not recognized on any logi-
cal unit. If _c_c_t_l is ..ttrruuee.. then carriage control will be
recognized on formatted output to all logical units except
unit 0, the diagnostic channel. Otherwise the default will
be restored.
By default, trailing and embedded blanks in input data
fields are ignored. If _b_z_r_o is ..ttrruuee.. then such blanks will
be treated as zeros. Otherwise the default will be
restored.
By default, all files opened for sequential access are posi-
tioned at their beginning. It is sometimes necessary or
convenient to open at the END-OF-FILE so that a write will
append to the existing data. If _a_p_n_d is ..ttrruuee.. then files
opened subsequently on any logical unit will be positioned
at their end upon opening. A value of ..ffaallssee.. will restore
the default behavior.
_I_o_i_n_i_t may be used to associate file names with Fortran log-
ical unit numbers through environment variables (see "Intro-
duction to the f77 I/O Library" for a more general way of
doing this). If the argument _p_r_e_f_i_x is a non-blank string,
then names of the form pprreeffiixxNN will be sought in the pro-
gram environment. The value associated with each such name
found will be used to open logical unit NN for formatted
sequential access. For example, if f77 program _m_y_p_r_o_g_r_a_m
included the call
call ioinit (.true., .false., .false., 'FORT', .false.)
then when the following sequence
% setenv FORT01 mydata
% setenv FORT12 myresults
Printed 7/9/88 May 27, 1986 1
IOINIT(3F) UNIX Programmer's Manual IOINIT(3F)
% myprogram
would result in logical unit 1 opened to file _m_y_d_a_t_a and
logical unit 12 opened to file _m_y_r_e_s_u_l_t_s. Both files would
be positioned at their beginning. Any formatted output
would have column 1 removed and interpreted as carriage con-
trol. Embedded and trailing blanks would be ignored on
input.
If the argument _v_r_b_o_s_e is ..ttrruuee.. then _i_o_i_n_i_t will report on
its activity.
The effect of
call ioinit (.true., .true., .false., '', .false.)
can be achieved without the actual call by including
``-lI66'' on the _f_7_7 command line. This gives carriage con-
trol on all logical units except 0, causes files to be
opened at their beginning, and causes blanks to be inter-
preted as zero's.
The internal flags are stored in a labeled common block with
the following definition:
integer*2 ieof, ictl, ibzr
common /ioiflg/ ieof, ictl, ibzr
FFIILLEESS
/usr/lib/libI77.a f77 I/O library
/usr/lib/libI66.a sets older fortran I/O modes
SSEEEE AALLSSOO
getarg(3F), getenv(3F), ``Introduction to the f77 I/O
Library''
BBUUGGSS
_P_r_e_f_i_x can be no longer than 30 characters. A pathname
associated with an environment name can be no longer than
255 characters.
The ``+'' carriage control does not work.
Printed 7/9/88 May 27, 1986 2