私は(10,10)のマトリックス中に、このデータを保存したいデータがが、これは私のプログラムでデータの読み取り中にエラー
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
.
.
.
.
.
91 92 93 94 95 96 97 98 99 100
このように充填されている1つのデータファイルを持っている 取得
program test
integer j,n,m
character,dimension(10,10) ::text
character*50 line
open(unit=3,file="tmp.txt",status='old')
n=1
read(3,"(a50)"),line
read(line,*,end=1),(text(1,i),i=1,10)
1 read(3,"(a50)",end=3),line
n=n+1
read(line,*,end=1)(text(n,i),i=i,10)
3 close(3)
end program test
ただし、正しい値が得られません。
文字を読み取っているかのように見えます。文字はすべて数字または数字のいずれかになります。あれは正しいですか ?あるいは、整数を読み込み、ある種のバッファーとして文字変数を使用しようとしていますか? Fortranの整数をファイルから読み込む方法ではありません。私はあなたの配列テキストの宣言にも困惑しています。確かに、Fortranは2次元の文字配列を持つことは間違いありませんが、しばしば不適切な言語のイディオムを乗り越えるCプログラマの兆候です。 –