Manual Reference Pages  - isprint (3m_strings)

NAME

isprint(3f) - [M_strings:COMPARE] returns .true. if character is an ASCII printable character (LICENSE:PD)

CONTENTS

Synopsis
Description
Options
Returns
Examples
Author
License

SYNOPSIS

elemental function isprint(onechar)

    character(len=*),intent(in) :: onechar
    logical                     :: isprint

DESCRIPTION

isprint(3f) returns .true. if character is an ASCII printable character

OPTIONS

onechar
  character(s) to test

RETURNS

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.

EXAMPLES

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)]

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

Results:

   > 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

AUTHOR

John S. Urban

LICENSE

Public Domain