fmt(3f) - [M_strings:TOKENS] break a long line into a paragraph (LICENSE:PD)
Synopsis
Description
Options
Returns
Example
Author
License
function fmt(source_string,length)
character(len=*),intent(in) :: source_string integer,intent(in) :: length character(allocatable(len=length) :: fmt(:)
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.
SOURCE_STRING input string to break into an array of shorter strings on blank delimiters LENGTH length of lines to break the string into.
FMT character array filled with data from source_string broken at spaces into variables of length LENGTH.
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 & &seventeenResults: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
John S. Urban
Public Domain
fmt (3) | March 11, 2021 |