! This file: http://ftp.aset.psu.edu/pub/ger/fortran/hdk/ucaseCP.f90 ! ! Read a string and convert to upper case. ! Author: Clive Page !--------------------------------------------------------------------- program test_upper implicit none character(len=20) :: up, s write(*,"(1x,A)",advance='no') "Enter string: " read(*,'(A)') s write(*,*) 'up = ', up(s) end program Character (len=20) Function Up (string) Character(len=*) string up = & transfer(merge(achar(iachar(transfer(string,"x",len(string)))- & (ichar('a')-ichar('A')) ), & transfer(string,"x",len(string)) , & transfer(string,"x",len(string)) >= "a" .and. & transfer(string,"x",len(string)) <= "z"), repeat("x", len(string))) return end function