get_fortran_string Function

private function get_fortran_string(s, nchars) result(f)

Arguments

Type IntentOptional Attributes Name
character(kind=C_CHAR, len=1), intent(in) :: s(*)
integer, intent(in) :: nchars

Return Value character(len=nchars)


Called by

proc~~get_fortran_string~~CalledByGraph proc~get_fortran_string get_fortran_string proc~test_print_char_rank2_array_c test_print_char_rank2_array_c proc~test_print_char_rank2_array_c->proc~get_fortran_string proc~test_print_file_name_c test_print_file_name_c proc~test_print_file_name_c->proc~get_fortran_string proc~write_data_to_vtk_c write_data_to_vtk_c proc~write_data_to_vtk_c->proc~get_fortran_string

Source Code

  function get_fortran_string(s,nchars) result(f)
    character(kind=C_CHAR, len=1), intent(in) :: s(*)
    integer, intent(in) :: nchars
    character(len=nchars) :: f

    if( storage_size(f).eq.storage_size(s)*nchars) then
      f = transfer(s(1:nchars), f)
    else
      stop "can't transfer C_CHAR array to fortran character, do explicit copy!"
    end if
  end function get_fortran_string