Fortran Coder

标题: 新手求助READ函数问题 [打印本页]

作者: sharpcoder    时间: 2015-3-3 22:17
标题: 新手求助READ函数问题
新手求助关于READ函数中的advance问题!


最近将CVF中的一个程序移植到IVF中,发现I/O存在很多问题,比如write语句在IVF中自动换行的问题,需要在格式化字符串后面加“\”来避免。


但是目前还不清楚read语句是不是也有类似的问题,听别人说要在read中修改advance属性,不知道这个是怎么回事?还请指导!
注:目前已经将程序中的所有变量都添加了初始化(置零和置false),但是I/O仍然无法正常运行,不知道是否和这个有关。
       由于源程序牵扯到公司项目,无法贴出来,还请大家见谅!

作者: vvt    时间: 2015-3-4 08:59
read 和 write 在不特别声明的情况下,都是自动换行的。CVF 和 IVF 均是如此。这是语法规定的。

\ 是不标准的用法,标准的用法是 advance = 'no'
作者: sharpcoder    时间: 2015-3-8 11:58
vvt 发表于 2015-3-4 08:59
read 和 write 在不特别声明的情况下,都是自动换行的。CVF 和 IVF 均是如此。这是语法规定的。

\ 是不标 ...

又检查了一遍程序,write语句的问题解决了,现在都有格式描述。
但是read语句有不少都是没有读取格式描述的,不知道是不是需要在IVF里面加advance='no',因为现在程序还是有问题,并且太过庞大无法单独查错,不知道问题是不是出在这里?
作者: vvt    时间: 2015-3-8 15:53
不管是 read 还是 wrie,必须有格式符,才能使用 advance。

read( ??? , * ) 不能使用 advance
作者: chiangtp    时间: 2015-4-10 00:32
請問vvt:
"為什麼?" Fortran語法(language standard)要規定 list-directed format I/O, i.e., READ/WRITE(???,*), 不能使用 ADVANCE=
總該有個道理???





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