Passing Variables with the SYSTEM Call (57571)



The information in this article applies to:

  • Microsoft FORTRAN Compiler for MS-DOS 4.1
  • Microsoft FORTRAN Compiler for MS-DOS 5.0
  • Microsoft FORTRAN Compiler for MS-DOS 5.1
  • Microsoft FORTRAN compiler for OS/2 4.1
  • Microsoft FORTRAN compiler for OS/2 5.0
  • Microsoft FORTRAN compiler for OS/2 5.1
  • Microsoft FORTRAN PowerStation for MS-DOS 1.0
  • Microsoft FORTRAN PowerStation for MS-DOS 1.0a
  • Microsoft Fortran Powerstation 32 for Windows NT 1.0
  • Microsoft Fortran Powerstation 32 for Windows NT 4.0

This article was previously published under Q57571

SUMMARY

The C Run-time function, SYSTEM, is available within the FORTRAN Run Time Library. It is possible to pass a variable argument within that function call. The variable can also be a concatenated variable. Below is an example demonstrating this feature.

NOTE: SYSTEM is a C function within the FORTRAN Library. Any limitation or characteristics that are encountered are those of the C convention and not of FORTRAN (for example, null terminated strings).

MORE INFORMATION

Sample Code

c...This program will demonstrate the use of a concatenated
c...variable argument for the SYSTEM function call. It has
c...the same effect as typing DIR *.FOR at the MS-DOS prompt.

c..Interface statement

      interface to integer*2 function system[c]
     +(string[reference])
      character*1 string
      end

c..Variable set up and function call

      integer*2 system
      character*4 str
      character*5 ing
      character*9 all
      str='dir'
      ing='*.for'c   ! c treats this as a null terminated C string
      all=str//ing   ! Concatenate the string as 'dir *.for'
      i=system(all)  ! Pass a variable to SYSTEM
      end
				

Modification Type:MajorLast Reviewed:12/1/2003
Keywords:kbLangFortran KB57571