fortran fortran中文资料网
手气不错
Article

034.characterIntegerLogicalDescriptors_字符、整数与逻辑编辑描述符

显式格式需要使用与数据类型对应的编辑描述符。A处理字符,I处理整数,L处理逻辑值;描述符中的宽度决定数据占用的字符位置。

语法结构

A
Aw
Iw
Lw
  • A不写宽度时按字符表达式自身的长度输出;Aw使用宽度为w的字段。
  • Iw在宽度为w的字段中输出整数,字段有剩余时在左侧填充空格。
  • Lw输出逻辑值,通常显示为TF

本文代码

! A、I和L分别格式化字符、整数和逻辑值。
program characterIntegerLogicalDescriptorsDemo
  implicit none
  character(len=*), parameter :: componentName = "resistor"
  integer :: componentCount
  logical :: isAvailable
  componentCount = 42
  isAvailable = .true.
  print "(A,A)", "A  :", componentName
  print "(A,I8)", "I8 :", componentCount
  print "(A,L8)", "L8 :", isAvailable
end program characterIntegerLogicalDescriptorsDemo

编译运行

(base) hong@hongdeMacBook-Pro 034.characterIntegerLogicalDescriptors % gfortran exampleCharacterIntegerLogicalDescriptors.f90
(base) hong@hongdeMacBook-Pro 034.characterIntegerLogicalDescriptors % ./a.out
A  :resistor
I8 :      42
L8 :       T

现象分析

第一个值由不带宽度的A输出,因此resistor按自身长度紧接在标签之后。整数42和逻辑值T分别放入宽度为8的字段,未使用的位置在左侧表现为空格。

核心知识点

  • 字符、整数和逻辑值应分别使用AIL
  • 字段宽度用于对齐输出,不会改变变量本身的值。
  • 字段必须足以容纳数据,否则无法得到正常的字段内容。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注