isascii(3f) - [M_strings:COMPARE] returns .true. if the character is
in the range char(0) to char(256)
(LICENSE:PD)
elemental function isascii(onechar)
character,intent(in) :: onechar
logical :: isascii
isascii(3f) returns .true. if the character is in the range char(0)
to char(127)
onechar character to test
isupper logical value returns true if character is an ASCII
character.
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
John S. Urban
Public Domain
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character, | intent(in) | :: | ch |
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