首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PGI Fortran整数格式

PGI Fortran整数格式
EN

Stack Overflow用户
提问于 2012-11-16 17:58:31
回答 2查看 278关注 0票数 1

我有一个输入文本文件,其中包含一个整数记录,如下所示:

代码语言:javascript
复制
1

它在Fortran代码中被读为:

代码语言:javascript
复制
read(iunit,'(i4)') int_var

这对于Gfortran很好,但是用编译的相同代码需要一个4个字符宽(实际记录只有一个字符)并抛出一个错误。现在我知道格式指定了宽度,根据Fortran标准,这可能是正确的行为,也可能不是正确的行为,但我的问题是-有一个编译器选项可以使它在这方面像Gfortran那样运行吗?

我使用的这个第三方代码有很多(数百或数千)这样的读语句,而且输入数据有很多“错误”宽度的记录,所以修改代码或输入数据都需要付出很大的努力。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-16 20:23:15

我不认为这与blank有关。此read不应导致错误,除非您用pad="no"打开文件iunit。默认情况下是pad="yes",如果输入记录太短,就会用空格填充输入记录。

您确定使用了正确的输入文件,并有正确的行尾吗?来自Windows的文本文件可能会出现问题,而在Unix中,可以在输入记录中读取CR。在本例中,使用unix2dos实用程序可能会有所帮助。您可以尝试使用character(4)编辑描述符读取a4字符串来测试这一点。

票数 2
EN

Stack Overflow用户

发布于 2012-11-16 19:14:08

支持开放关键字blank="null“吗?我认为这将改变对您想要的行为的读取,并将对代码的修改最小化。blank="null“与blank=”0“在gfortran4.7中似乎没有什么区别。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13421949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档