Manual Reference Pages  - char (3fortran)

NAME

CHAR(3) - [CHARACTER] Generate a character from a code value

SYNOPSIS

result = char(i [,kind])

         elemental character(kind=KIND) function char(i,KIND)

integer(kind=**),intent(in) :: i integer(kind=**),intent(in),optional :: KIND

CHARACTERISTICS

o a kind designated as ** may be any supported kind for the type
o I is an integer of any kind
o KIND is an integer initialization expression indicating the kind parameter of the result.
o The returned value is a character with the kind specified by KIND or if KIND is not present, the default character kind.

DESCRIPTION

Generates a character value given a numeric code representing the position I in the collating sequence associated with the specified kind KIND.

Note that ACHAR(3) is a similar function specifically for ASCII characters that is preferred when only ASCII is being processed, which is equivalent to CHAR(I,KIND=SELECTED_CHAR_KIND("ASCII") )

The ICHAR(3) function is the reverse of CHAR(3), converting characters to their collating sequence value.

OPTIONS

o I : a value in the range 0 <= I <= N-1, where N is the number of characters in the collating sequence associated with the specified kind type parameter. : For ASCII, N is 127. The default character set may or may not allow higher values.
o KIND : A constant integer initialization expression indicating the kind parameter of the result. If not present, the default kind is assumed.

RESULT

The return value is a single character of the specified kind, determined by the position of I in the collating sequence associated with the specified KIND.

EXAMPLES

Sample program:

    program demo_char
    implicit none
    integer, parameter :: ascii =  selected_char_kind ("ascii")
    character(len=1, kind=ascii ) :: c
    integer :: i
      ! basic
       i=74
       c=char(i)
       write(*,*)’ASCII character ’,i,’is ’,c
      !
       print *, ’a selection of ASCII characters (shows hex if not printable)’
       do i=0,127,10
          c = char(i,kind=ascii)
          select case(i)
          case(32:126)
             write(*,’(i3,1x,a)’)i,c
          case(0:31,127)
             ! print hexadecimal value for unprintable characters
             write(*,’(i3,1x,z2.2)’)i,c
          case default
             write(*,’(i3,1x,a,1x,a)’)i,c,’non-standard ASCII’
          end select
       enddo

end program demo_char

Results:

        ASCII character           74 is J
        a selection of ASCII characters (shows hex if not printable)
         0 00
        10 0A
        20 14
        30 1E
        40 (
        50 2
        60 <
        70 F
        80 P
        90 Z
100 d 110 n 120 x

STANDARD

FORTRAN 77

SEE ALSO

ACHAR(3), IACHAR(3), ICHAR(3)

Functions that perform operations on character strings, return lengths of arguments, and search for certain arguments:
o ELEMENTAL: ADJUSTL(3), ADJUSTR(3), INDEX(3), SCAN(3), VERIFY(3)
o NONELEMENTAL: LEN_TRIM(3), LEN(3), REPEAT(3), TRIM(3)
fortran-lang intrinsic descriptions (license: MIT) @urbanjost


Nemo Release 3.1 char (3fortran) April 28, 2024
Generated by manServer 1.08 from b26cc7bd-1e4c-4505-bc06-d162e54c1f8c using man macros.