Search code examples
fortranstring-conversion

Converting character string to integer


This is a follow up to my get_command_argument() question.

I'm reading a command line argument (arg) into a Fortran program. Then I want to store the value of arg as an integer. ichar() doesn't do the job.

This seems kind of basic, so clearly I'm doing something wrong. Any hints?

program test_get_command_argument
   integer :: i,j
   character(len=32) :: arg

   i = 0
   do
       call get_command_argument(i,arg)
       if (LEN_TRIM(arg) == 0) EXIT

       write (*,*) trim(arg)
       i = i + 1
   end do

   j = ichar(arg)


end program

Solution

  • You want to use the "internal files" capability. You should have a statement like read(arg,*) j. This will read the character variable arg as if it were a file and store the result into j.