Fortran Coder

标题: namelist从文件输入如何在输入项不足时返回信息或报错 [打印本页]

作者: freshcsor    时间: 2021-7-22 14:04
标题: namelist从文件输入如何在输入项不足时返回信息或报错
我目前开发的程序,想使用namelist从文本文件读取输入。调试过程中发现输入中缺少namelist中的某些变量时,程序依然可以继续运行,未输入的变量保持默认值。查看namelist文档后,发现确实是这样设计的,“It is not necessary for the input records in a namelist input statement to define every variable in the associated namelist.”“The number of values following the equal sign must be equal to or less than the number of list items in the expanded sequence.”
但这样的话程序使用者如果误删输入,程序不会直接报错,可能引起后续计算错误。
那么有没有什么方式能卡死在文件里必须输入完namelist所有变量呢,在不输入完整时返回某些信息或者直接报错。
感谢!


作者: 风平老涡    时间: 2021-7-22 19:46
使用namelist无法避免所说的问题,只能采用list-directed I/O, 一个变量对应一个数值。
作者: freshcsor    时间: 2021-7-24 10:47
风平老涡 发表于 2021-7-22 19:46
使用namelist无法避免所说的问题,只能采用list-directed I/O, 一个变量对应一个数值。 ...

感谢回答!
那还是保留namelist,在输入手册里着重提示吧。用这个输入比较明了,有点弱化版xml的感觉




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2