你定义的 character*(500) bufferout 就是字符串啊,所以当然就是字符串了。
fortran 直接操作字符串会在后面自动加空格。
我的习惯是用 Equivalence 方便处理:
[Fortran] 纯文本查看 复制代码
Type T_DAQ
SEQUENCE
character(len=3) :: cFlagStart !// 一般会有帧头,但不是必须的
!// 此处是你的各数据,用 type 会更方便多种不同数据放在一起
character(len=3) :: cFlagEnd !// 一般会有帧尾,但不是必须的
End Type T_DAQ
type(T_DAQ) , private :: stDAQ !// 这是你真正的数据
character(len=80) , private :: C_DAQ !// 这是为了方便书写
Equivalence( C_DAQ , stDAQ ) !// 让 C_DAQ 和 stDAQ 公用一个内存地址!这样,当你传输时,使用 C_DAQ,而使用时,使用 stDAQ
|