温度値を置き換えたいテキスト ファイルがあります。この番号の位置はテキスト内でランダムで、次のようになります。
'xdd "D:\Data\Ioana\DH1_Short_slow\DH1_360_2.xye" xye_format local !Temperature 360
... (その他のテキスト)
prm bnonh360 1.66237`_0.41541
prm bh360 = 1.2 * bnonh360;
site Na1 x ref_flag -0.11868`_0.00258 y ref_flag 0.51229`_0.00446 z ref_flag 0.00330`_0.00107 occ Na 1 beq = bnonh360;
...(その他のテキスト)
Out_CIF_STR_Uiso("D:\Data\Ioana\DH1_Short_slow\DH1_360.cif")
Out_Profile("D:\Data\Ioana\DH1_Short_slow\DH1_360_plot.pro")
Out_Tick("D:\Data\Ioana\DH1_Short_slow\DH1_360_plot.tic") '
テキストが多いということは、ファイル内のテキストが多いことを意味します。たとえば、360 を 365 に置き換えたいとします。
私は次のようなことを試しました
do
read(10,'(a)',iostat=iok) line1
found = ( (index(line1,'360') /=0) )
if (found) then
write(*,*) '365'
endif
if(line1 == '$') exit
write(*,*) line1
write(40,*,iostat=iok) line1
enddo
しかし、これは 360 が見つかった次の行に 365 を書き込むだけです。
ありがとう