在Mac gfortran 4.7.2中,isatty(6)不起作用

时间:2013-01-14 05:31:52

标签: fortran gfortran

在Mac 10.8.2中,使用gfortran 4.7.2编译以下代码:

program test
    write(*, *) isatty(6)
end program test

该程序只是没有响应而没有返回。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我不确定为什么你没有输出,在Linux上使用gfortran 4.7.2它对我来说很好。你可以尝试编写自己的接口到C的isatty有什么区别:

program test
  implicit none

  interface
    function my_isatty(fd) bind(C, name = 'isatty')
      use, intrinsic :: iso_c_binding, only: c_int
      integer(c_int)        :: my_isatty
      integer(c_int), value :: fd
    end function
  end interface

  ! Standard output should be at 1 in C:
  print*, my_isatty(1) 
end program test

我得到以下输出:

$ ./a.out
    1
$ ./a.out > b && cat b
    0