我遇到过Fortran的以下问题:例如,从fmt = *的数据文件读取字符数组或实际任何列表时,非插入空格和逗号都被本地视为分隔符对于数组/列表中的元素。逗号充当分隔符这一事实对我来说是个大问题。
所以问题是:你知道Fortran中的任何语义选项或编译指令允许将输入文件中的逗号视为字符而不是分隔符, 唯一的分隔符是空白?作为一个具体的例子,我想在阅读如下记录时这样做:
x,y,z
with:
read (7,*) adummy
会导致adummy
(标量字符变量)获得值x,y,z
而不是x
。
欢迎任何帮助。
答案 0 :(得分:3)
解决方案是指定格式以匹配您的数据记录,即在指定格式时使用字符数据描述符:
read(7,fmt='(A)')adummy
将导致adummy
具有值x,y,z
,假设它是一个足够长的变量。
但是这个方法也不会将空白视为分隔符,所以如果你想将逗号作为字符串读取但是将空格作为分隔符,实现这一点的常用方法是将整个记录读入字符变量并进行分割之后变成单独的变量。