C Library Functions  - paragraph (3)

NAME

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

CONTENTS

Synopsis
Description
Options
Returns
Example
Author
License

SYNOPSIS

function paragraph(source_string,length)

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

DESCRIPTION

paragraph(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

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

EXAMPLE

sample program

   program demo_paragraph
   use M_strings, only : paragraph
   implicit none
   character(len=:),allocatable :: paragrph(:)
   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

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

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

end program demo_paragraph

Results:

    LEN=         106
    INPUT:
    one two three four five six seven eight nine ten eleven twelve
    thirteen fourteen fifteen sixteen seventeen
    LEN=          40  SIZE=           3
    OUTPUT:
one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen

AUTHOR

John S. Urban

LICENSE

Public Domain


Nemo Release 3.1 paragraph (3) July 22, 2023
Generated by manServer 1.08 from aa24e0f2-dc3a-4505-b0ca-ada59d435585 using man macros.