| Function  : |  | 
| result      : | character(len = STRING) | 
| fmt      : | character(*), intent(in) | 
| i(:)      : | integer, intent(in), optional | 
| r(:)      : | real, intent(in), optional | 
| d(:)      : | real(DP), intent(in), optional | 
| L(:)      : | logical, intent(in), optional | 
| n(:)      : | integer, intent(in), optional | 
| c1      : | character(*), intent(in), optional | 
| c2      : | character(*), intent(in), optional | 
| c3      : | character(*), intent(in), optional | 
| ca(:)      : | character(*), intent(in), optional | 
function DCStringCPrintf(fmt, i, r, d, L, n, c1, c2, c3, ca) result(result)
  !
  ! フォーマット文字列 fmt に従って変換された文字列を返します。
  ! 第1引数 fmt には指示子を含む文字列を与えます。
  ! 指示子には「<tt>%</tt>」を用います。
  ! <tt>%</tt> を用いたい場合は 「<tt>%%</tt>」と記述します。
  ! 指示子に関しての詳細や用例に関しては dc_utils/dcstringsprintf.f90 を参照ください。
  !
  use dc_types, only: STRING, DP
  use dc_string, only: Printf
  implicit none
  character(len = STRING):: result
  character(*), intent(in):: fmt
  integer, intent(in), optional:: i(:), n(:)
  real, intent(in), optional:: r(:)
  real(DP), intent(in), optional:: d(:)
  logical, intent(in), optional:: L(:)
  character(*), intent(in), optional:: c1, c2, c3
  character(*), intent(in), optional:: ca(:)
continue
  call printf(result, fmt, i=i, r=r, d=d, L=L, n=n, c1=c1, c2=c2, c3=c3, ca=ca)
end function DCStringCPrintf