How to Convert Integers to String in Fortran?

Posted by  Pawan Shukla
 2168  View(s)
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. 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)"
                format_string = "(A5,I2)"
            write (filename,format_string) "hello", i
            print *, trim(filename)
    end program

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