HOW TO CONVERT INTEGERS TO STRING IN FORTRAN?

Pawan Shukla

Total Post:29

Points:203
Posted by  Pawan Shukla
C# 
 1352  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. Kamlakar Singh

    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

Answer

NEWSLETTER

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