reverse Function

public elemental function reverse(string) result(rev)

NAME

  reverse(3f) - [M_strings:EDITING] Return a string reversed
  (LICENSE:PD)

SYNOPSIS

elemental pure function reverse(str) result (string)

 character(*), intent(in) :: str
 character(len(str))      :: string

DESCRIPTION

  reverse(string) returns a copy of the input string with
  all characters reversed from right to left.

EXAMPLE

Sample program:

   program demo_reverse
   use M_strings, only: reverse
   implicit none
   character(len=:),allocatable  :: s
      write(*,*)'REVERSE STRINGS:',reverse('Madam, I''m Adam')
      s='abcdefghijklmnopqrstuvwxyz'
      write(*,*) 'original input string is ....',s
      write(*,*) 'reversed output string is ...',reverse(s)
   end program demo_reverse

Results:

  >  REVERSE STRINGS:madA m'I ,madaM
  >  original input string is ....abcdefghijklmnopqrstuvwxyz
  >  reversed output string is ...zyxwvutsrqponmlkjihgfedcba

AUTHOR

John S. Urban

LICENSE

Public Domain

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: string

Return Value character(len=len)


Contents

Source Code


Source Code

elemental function reverse(string) result (rev)

! ident_21="@(#) M_strings reverse(3f) Return a string reversed"

character(len=*),intent(in)    :: string   ! string to reverse
character(len=len(string))     :: rev      ! return value (reversed string)
integer                        :: length
integer                        :: i
   length = len(string)

   do i = 1,length
      rev(i:i)=string(length-i+1:length-i+1)
   enddo
end function reverse