isascii Function

public elemental function isascii(ch) result(res)

NAME

 isascii(3f) - [M_strings:COMPARE] returns .true. if the character is
 in the range char(0) to char(256)
 (LICENSE:PD)

SYNOPSIS

elemental function isascii(onechar)

 character,intent(in) :: onechar
 logical              :: isascii

DESCRIPTION

 isascii(3f) returns .true. if the character is in the range char(0)
 to char(127)

OPTIONS

onechar  character to test

RETURNS

isupper  logical value returns true if character is an ASCII
         character.

EXAMPLE

Sample program

 program demo_isascii
 use M_strings, only : isascii
 implicit none
 integer                    :: i
 character(len=1),parameter :: string(*)=[(char(i),i=0,255)]
    write(*,'(10(g0,1x))')'ISASCII: ', &
    & iachar(pack( string, isascii(string) ))
 end program demo_isascii

Results:

ISASCII:  0 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16 17 18
19 20 21 22 23 24 25 26 27 28
29 30 31 32 33 34 35 36 37 38
39 40 41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56 57 58
59 60 61 62 63 64 65 66 67 68
69 70 71 72 73 74 75 76 77 78
79 80 81 82 83 84 85 86 87 88
89 90 91 92 93 94 95 96 97 98
99 100 101 102 103 104 105 106 107 108
109 110 111 112 113 114 115 116 117 118
119 120 121 122 123 124 125 126 127

AUTHOR

 John S. Urban

LICENSE

 Public Domain

Arguments

Type IntentOptional Attributes Name
character, intent(in) :: ch

Return Value logical


Contents

Source Code


Source Code

elemental function isascii(ch) result(res)

! ident_71="@(#) M_strings isascii(3f) returns .true. if character is in the range char(0) to char(127)"

character,intent(in) :: ch
logical              :: res
   select case(iachar(ch))
   case(0:127)
     res=.true.
   case default
     res=.false.
   end select
end function isascii