質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

Q&A

解決済

1回答

647閲覧

文字列の読み込みを順々に繰返し、それぞれの行に対応したプログラミングを作りたい。

Arapeeeee_1019

総合スコア1

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

FORTRAN

FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

0グッド

0クリップ

投稿2021/05/28 20:31

編集2021/05/29 05:09

"C:\theme\200104.073253_ch01-03.ew"
"C:\theme\200104.073253_ch01-03.ns"
"C:\theme\200104.073253_ch01-03.ud"
"C:\theme\200104.073253_ch04-06.ew"
"C:\theme\200104.073253_ch04-06.ns"
:
と続くファイルがあり、上記のファイルを読み取り、これを以下のように直すプログラミングが作りたいです。
test.exe <C:\theme\200104.073253_ch01-03.ew> 200104.073253_ch01-03.ewa
test.exe <C:\theme\200104.073253_ch01-03.ns> 200104.073253_ch01-03.nsa
test.exe <C:\theme\200104.073253_ch01-03.ud> 200104.073253_ch01-03.uda
test.exe <C:\theme\200104.073253_ch04-06.ew> 200104.073253_ch01-03.ewa
test.exe <C:\theme\200104.073253_ch04-06.ns> 200104.073253_ch01-03.nsa
:
c23456
implicit none
integer,parameter ::len = 33
character(len) n
character a16,b3,c
a='test.exe < '
b=' > '
c='a'
read (,'(1x,a33)') n
write(
,'(a)')a//n//b//n//c
end

現在、上記のプログラミングで1行分だけ書き出すことはできたのですが、最終目標としてはこれをそれぞれの行に対応して繰返し書き出したいです。
自分の方針としてはnをx(i)=1,y(ここでのyはファイルの最後の行数)に変え、順々に読み取っていこうと考えていましたがエラーが出てしまいました。この方針では不可能でしょうか。また、不可能な場合、どのような方針で進めていけばいいか教えていただきたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2021/05/29 02:40

>整数型(integer)で抜き出したいです。 と >c,dは始めの0も含めて抜き出したいです。 が矛盾していますね。もう少し初歩から復習してはどうでしょうか?
guest

回答1

0

ベストアンサー

方針としてはそれでいいのではないでしょうか。

fortran

1implicit none 2integer,parameter ::len = 33 3character(len) n 4character a*16,b*3,c 5a='test.exe < ' 6b=' > ' 7c='a' 8do 9 read (*,'(1x,a33)', end = 999) n 10 write(*,'(a)')a//n//b//n//c 11end do 12999 stop 13end

変数名などの選び方に不統一な投げやり感が漂っているので、それに合わせて end = 999 で End Of File を検出することにしてみます。

投稿2021/05/29 15:07

curehoney

総合スコア249

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Arapeeeee_1019

2021/05/31 07:55

大変参考になりました。回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問