Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!elroy.jpl.nasa.gov!lll-winken!sun-barr!newstop!sun!khb From: khb@chiba.Eng.Sun.COM (Keith Bierman - SPD Advanced Languages) Newsgroups: comp.lang.fortran Subject: Re: How to load executables and transfer variable name to FORTRAN Message-ID: Date: 8 Aug 90 17:57:45 GMT References: <8386@ccncsu.ColoState.EDU> Sender: news@sun.Eng.Sun.COM Organization: Sun MegaSystems Lines: 63 In-reply-to: flatau@handel.CS.ColoState.Edu's message of 8 Aug 90 17:35:35 GMT In article <8386@ccncsu.ColoState.EDU> flatau@handel.CS.ColoState.Edu (flatau) writes: ... and execute "prog" with a parameter, e.g. prog 'file.dat' Well, this works on most unix systems (from the SunOS man pages) NAME getarg, iargc - get the kth command line argument SYNOPSIS subroutine getarg ( k, arg ) character*(*) arg function iargc () DESCRIPTION The statement call getarg( k , arg ) will get the kth command-line argument and put it into arg . The 0th argument is the command name. The function iargc returns the index of the last command- line argument, and therefore the number of arguments after the command name. EXAMPLE demo% cat tesargs.f character argv*10 integer i, iargc, m m = iargc() i = 1 do while ( i .le. m ) call getarg ( i, argv ) write( *, '( i2, 1x, a )' ) i, argv i = i + 1 end do stop end demo % a.out first second last 1 first 2 second 3 last demo% FILES /usr/lang/SC0.0/libF77.a SEE ALSO execve(2), getenv(3F) Of course, this is not standard Fortran, not all operating systems have a notion of command lines (my old Mac running MacOS (pre-MPW) for example). -- ---------------------------------------------------------------- Keith H. Bierman kbierman@Eng.Sun.COM | khb@chiba.Eng.Sun.COM SMI 2550 Garcia 12-33 | (415 336 2648) Mountain View, CA 94043