HOW TO CONVERT INTEGERS TO STRING IN FORTRAN?

Pawan Shukla

Total Post:29

Points:203
Posted by  Pawan Shukla
C# 
 1599  View(s)
Ratings:
Rate this:

I have a program in Fortran that saves the results to a file. At the moment I open the file using

OPEN (1, FILE = 'Output.TXT')

However, I now want to run a loop, and save the results of each iteration to the files 'Output1.TXT', 'Output2.TXT', 'Output3.txt', ...

Is there an easy way in Fortran to constuct filenames from the loop counter i?

  1. Mark M

    Post:28

    Points:196
    Re: How to Convert Integers to String in Fortran?

    you can write to a unit, but you can also write to a string

    program foo

        character(len=1024) :: filename
        write (filename, "(A5,I2)") "hello", 10
        print *, trim(filename)

    end program

    Please note (this is the second trick I was talking about) that you can also build a format string programmatically.

    program foo

        character(len=1024) :: filename
        character(len=1024) :: format_string
        integer :: i
        do i=1, 10
            if (i < 10) then
                format_string = "(A5,I1)"
            else
                format_string = "(A5,I2)"
            endif
            write (filename,format_string) "hello", i
            print *, trim(filename)
        enddo
    end program

      Modified On Apr-06-2018 07:01:34 AM

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!