胡文刚 发表于 2020-9-15 21:26 感谢您的回复! 根据您的建议用Simply Fortran试了一下,发现问题就在于表控格式,需要控制格式写入。(adjustl函数需要控制格式,但是trim就可以是表控格式) [Fortran] 纯文本查看 复制代码 character*20:: str= ' fortran ' write(str,*) adjustl(str) print*, str end 用write将字符串写进字符串的用法我也基本没用过,因为是修改代码而偶然出现的,好奇报错的原因。 如您所言,还是直接赋值最方便。 |
第一 write(str,*) adjustl(str) 如果你把一个变量写入自身,可能会有问题。虽然语法没有明说,但不同编译器实现可能有不同的问题。 建议你换一个变量写入,比如 write(str2,*) adjustl(str) 第二 对于表控格式来说,写入可能会超出str2的定义长度。 建议用a格式符 write(str2,'(a20)') adjustl(str) 第三 直接赋值,效率更高,何必用write? |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-12-22 01:06