[UP]


Manual Reference Pages  - fmt (3)

NAME

fmt(3f) - [M_strings:TOKENS] break a long line into a paragraph (LICENSE:PD)

CONTENTS

Synopsis
Description
Options
Returns
Example
Author
License

SYNOPSIS

function fmt(source_string,length)

   character(len=*),intent(in)       :: source_string
   integer,intent(in)                :: length
   character(allocatable(len=length)    :: fmt(:)

DESCRIPTION

fmt(3f) breaks a long line into a simple paragraph of specified line length.

Given a long string break it on spaces into an array such that no variable is longer than the specified length. Individual words longer than LENGTH will be placed in variables by themselves.

OPTIONS

SOURCE_STRING
  input string to break into an array of shorter strings on blank delimiters
LENGTH length of lines to break the string into.

RETURNS

FMT character array filled with data from source_string broken at spaces into variables of length LENGTH.

EXAMPLE

sample program

   program demo_fmt
   use M_strings, only : fmt
   implicit none
   character(len=:),allocatable :: paragraph(:)
   character(len=*),parameter    :: string= ’&
    &one two three four five &
    &six seven eight &
    &nine ten eleven twelve &
    &thirteen fourteen fifteen sixteen &
    &seventeen’

write(*,*)’LEN=’,len(string) write(*,*)’INPUT:’ write(*,*)string

paragraph=fmt(string,40) write(*,*)’LEN=’,len(paragraph),’ SIZE=’,size(paragraph) write(*,*)’OUTPUT:’ write(*,’(a)’)paragraph

write(*,’(a)’)fmt(string,0) write(*,’(3x,a)’)fmt(string,47)

end program demo_fmt

Results:

AUTHOR

John S. Urban

LICENSE

Public Domain


fmt (3) March 11, 2021
Generated by manServer 1.08 from 39b0d516-a7af-42b5-90ea-32e6c6faa5c7 using man macros.