Fortran Coder

查看: 26246|回复: 9
打印 上一主题 下一主题

[输入输出] 求教;Fortran如何强制不自动换行

[复制链接]

60

帖子

17

主题

0

精华

专家

F 币
454 元
贡献
266 点
跳转到指定楼层
楼主
发表于 2015-3-17 14:52:46 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
今天在用microsoft visual fortran 2008的时候,用write(11,*)输出时给自动换行了,然后我改成write(11,*,advance="no")编译报错报错内容是:“エラー        1         error #6568: ADVANCE、SIZE、または EOR 指定子のこの使用は無効です。”

是这个版本的fortran不支持advance么?由于输出文字符的数组,元素的长度不确定,用格式符来控制的话很麻烦。

求指点,谢谢了!!


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

60

帖子

17

主题

0

精华

专家

F 币
454 元
贡献
266 点
沙发
 楼主| 发表于 2015-3-17 15:16:01 | 显示全部楼层
fcode 发表于 2015-3-17 15:11
advance只能在格式符号后面使用。* 输出不能使用。

谢了,那有没有在*输出的情况下不换行的方法?

60

帖子

17

主题

0

精华

专家

F 币
454 元
贡献
266 点
板凳
 楼主| 发表于 2015-3-18 08:56:27 | 显示全部楼层
fcode 发表于 2015-3-17 16:24
[mw_shl_code=fortran,true]Program www_fcode_cn
  Implicit None
  character(len=3000) :: c !// 3000  ...

看来也只能这样操作了,谢啦!

60

帖子

17

主题

0

精华

专家

F 币
454 元
贡献
266 点
地板
 楼主| 发表于 2015-3-18 16:31:50 | 显示全部楼层
pasuka 发表于 2015-3-18 13:53
http://fcode.cn/code_gen-63-1.html
参考这个链接吧,用格式化字符串很复杂吗?

谢谢,这篇文章拜读过了,因为本身是用Fortran转写一段VBA,里面涉及到要输出一些地名,地名的长度并不一定,而且还夹杂着字母符号和字符,写循环来判断长度有点得不偿失,所以看看有没有我不知道的方法。能快速解决这个问题的。

60

帖子

17

主题

0

精华

专家

F 币
454 元
贡献
266 点
5#
 楼主| 发表于 2015-3-23 09:41:00 | 显示全部楼层
kerb 发表于 2015-3-21 23:31
你是IVF吧,试一下这个:WRITE(*, FMT = '(A25,\)')"XXXXXXXXXXXXX"

谢谢指点。
由于字符长度并不确定,而且还是数字和字符夹杂在一起输出(要输出成csv格式),没法统一用一种格式。
由于要考虑到兼容性,无法使用<>来操作,最后的解决方法还是只有采用http://fcode.cn/code_gen-63-1.html 这篇文章中提到的方法了。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-6-5 00:16

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表