isprint(3f) - [M_strings:COMPARE] returns .true. if character is an ASCII printable character (LICENSE:PD)
Synopsis
Description
Options
Returns
Examples
Author
License
elemental function isprint(onechar)
character(len=*),intent(in) :: onechar logical :: isprint
isprint(3f) returns .true. if character is an ASCII printable character
onechar character(s) to test
isprint Returns true logical value if character is a printable ASCII character else false. If a multi-byte string was input .false. is returned if any character is not printable. A null string returns .false.
Sample Program:
program demo_isprint use M_strings, only : isprint implicit none integer :: i character(len=*),parameter :: g=(*(g0,1x)) character(len=*),parameter :: c=(40(g0)) character(len=1),parameter :: string(*)=[(char(i),i=0,127)]Results:print * print g, basics print g, isprint(a),isprint(achar(9)) print * print g, elemental print g, isprint([a,b,char(8),c,d,char(10)]) print * print g, print all the printable characters print c, pack( string, isprint(string) ) print * print g, return false if any character is not printable print g, isprint(abcd) print g, isprint(ab//char(0)//cd)
end program demo_isprint
> basics > T F > > elemental > T T F T T F > > print all the printable characters > !"#$%&()*+,-./0123456789:;<=>?@ABCDEFG > HIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmno > pqrstuvwxyz{|}~ > > strings return false if any character is not printable > T > F
John S. Urban
Public Domain
