在Fortran中将字符串中的前导空格替换为零

在Fortran中将字符串中的前导空格替换为零,fortran,fortran90,Fortran,Fortran90,我想以这种格式打印一系列的时间段,例如,1970010600到1980010600,因此我将输入作为一个字符串,并将子字符串转换为整数,将其递增,然后再次转换为字符串 我将这些字符串变量连接为fln=yyyy//mm,但我的输出有前导空格。我也使用了空白描述符,但它不起作用: 我的输出是1971 1,但我需要197101。如果是两位数的月份,就没有问题 如何在月份中使用前导零而不是前导空白 守则的一部分是: integer:: m,j,n,k character(len=12)::fln,st,

我想以这种格式打印一系列的时间段,例如,
1970010600
1980010600
,因此我将输入作为一个字符串,并将子字符串转换为整数,将其递增,然后再次转换为字符串

我将这些字符串变量连接为
fln=yyyy//mm
,但我的输出有前导空格。我也使用了空白描述符,但它不起作用:

我的输出是
1971 1
,但我需要
197101
。如果是两位数的月份,就没有问题

如何在月份中使用前导零而不是前导空白

守则的一部分是:

integer:: m,j,n,k
character(len=12)::fln,st,et
character(len=4)::yy,tt
character(len=2)::mm,dd

 do j=0,k
 ma(j)=m+j
 write(mm,'(BZ,I2)')ma(j)
 fln=yy//mm
 write(19,121)fln
 121 format(A12)
试着替换

write(mm,'(BZ,I2)')ma(j)

然后查阅Fortran参考资料,了解如何使用
I
编辑表单
Iw.m
的描述符。
BZ
编辑控制描述符仅对输入有用。

始终使用标记,仅在必要时添加版本,以区分您的问题是否具体。例如,您不能使用Fortran 2008,而只能使用Fortran 90。
write(mm,'(I2.2)')ma(j)