1

这是对我的get_command_argument() 问题的跟进。

我正在将命令行参数 ( arg) 读入 Fortran 程序。然后我想将 的值存储arg为整数。ichar()不做这项工作。

这似乎有点基本,所以很明显我做错了什么。有什么提示吗?

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
4

2 回答 2

1

您想使用“内部文件”功能。你应该有一个像read(arg,*) j. 这将像读取文件一样读取字符变量arg并将结果存储到j.

于 2013-11-09T15:59:12.223 回答
1

这不是答案,而是扩展评论:

这是循环命令行参数的一种奇怪方式。直截了当有什么问题

do i = 1, command_argument_count()
   call get_command_argument(i,arg)
   ! do funky stuff    
end do
于 2013-11-09T18:24:48.560 回答