【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】

どなたか詳しい方、ご教授下さい。
FORTRAN77で、OPEN文で指定した出力ファイルへWRITE文で書き込みした後に、別のWRITE文で書き込みをすると、次の行に書き込まれるわけですが、これをひとつ前に書き込んだ行に継ぎ足すように書き込みたいのですが、どのような方法があるでしょうか。
例えば、
WRITE(10,*)'HELLO'
WRITE(10,*)'GOODBYE'
とすると、
HELLO
GOODBYE
と出力されますが、これを
HELLO GOODBYE
となるように、2行目のWRITE文の方で何とかできないでしょうか。

質問者からの補足コメント

  • すみません。補足します。
    例えば、DOループの中にWRITE文があって繰り返し書き込む場合でも、改行させずに、同じ行の後ろにどんどん書き足して行きたいのです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/09/01 08:24

A 回答 (3件)

1)連結演算を繰り返して、1行分(改行)のデータが集まったらwrite()する。


2)write文で、advance='no'という指定をする。
3)write(10,*) (a(i),i=1,n)
 #n個の配列にデータをセットしておく
    • good
    • 0
この回答へのお礼

ありがとうございました。
上手くできました。

お礼日時:2017/09/04 14:38

ちょっと調べてようやく「そういえばそんな仕様もあったな」と思い出したよ....



書式を * にしているのが原因なので, しかるべき書式を (FORMAT文か文字列で) 与えればいい.
https://www.obliquity.com/computer/fortran/forma …

ということに (FORTRAN の仕様では) なってるけど, 現実にはそれでもだめなことはあり得る. もしそれでもだめならあきらめてくれ.
    • good
    • 0
この回答へのお礼

ご案内のサイトを見てみましたが、難解だったので別の方法を考えます。
調べていただいたのにすみません。
どうもありがとうございました。

お礼日時:2017/09/01 13:53

■連結演算


「//」という連結演算子を使って、2つ以上の文字列を連結する。
(例)
 "HELLO" // " GOODBYE"
の結果は
 "HELLO GOODBYE"
という文字列になるので、それを書き込む。
この回答への補足あり
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2017/09/01 09:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報