The command
gfortran xatoi.f90
where xatoi.f90 has the code below creates an executable. This is neat, but I am surprised that I don't need to use a C compiler. Where is the function atoi coming from? For a C program (also listed below) there is a line
#include <stdlib.h>
to enable calls to atoi. In general, is an INTERFACE all you need to call a function in the C standard library
https://www.csse.uwa.edu.au/programming/ansic-library.html ?
! from "Interoperation of Fortran with C"
program main
use, intrinsic :: iso_c_binding, only: c_char, c_null_char
implicit none
interface
function atoi(in) bind(c)
use, intrinsic :: iso_c_binding
integer(c_int) :: atoi
character(c_char) :: in(*)
end function
end interface
integer :: i
character(len=:,kind=c_char), allocatable :: digits
allocate(character(len=5) :: digits)
digits = c_char_'1234' // c_null_char
i = atoi(digits) ! i gets set to 1234
print*,"i=",i
end program main
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)