Первая проблема заключалась в том, что я хотел создать файл и после некоторых вычислений изменить значение в центре файла. Следовательно, последовательный доступ не работает. Наконец, я добился прогресса в прямом доступе, но все напечатано в строке, но я хочу, чтобы это было под другим. Я пробовал слэш '/', но он не работает. Есть идея?Fortran: Есть ли способ добавить вертикальный интервал в файлах прямого доступа. Слэш, похоже, не работает
Мой код:
open (unit=2125, file='out.neo_to_gs2_2', status='replace', &
access='direct', form='formatted', recl=100)
write(2125,'(a16,2es16.8)',rec=1) 'mach =', mach, mach_new(ir_loc,2)
write(2125,777, rec=3) 'dmach_ir_loc =', dmach_ir_loc, 'g_exb =', &
g_exb, -(rhoc/qinp)*dmach_ir_loc(2)
write(2125,778, rec=4) 'ntheta =', ntheta, 'ntg_out =', ntg_out, 'ir_loc =', ir_loc
В результате линия со всей информацией:
mach = 6.43167496E-03 -8.57318202E-05 mach_lab = 6.47227491E-03 -8.65502010E-05 dmach_ir_loc = -2.32641799E-02 1.90173879E-04 g_exb = 9.40463050E-03 -7.68784920E-05 ntheta = 32 ntg_out = 16 ir_loc = 3
, но я хочу, чтобы это было так:
mach = 6.43167496E-03 -8.57318202E-05
mach_lab = 6.47227491E-03 -8.65502010E-05
dmach_ir_loc = -2.32641799E-02 1.90173879E-04
g_exb = 9.40463050E-03 -7.68784920E-05
ntheta = 32
ntg_out = 16
ir_loc = 3
Где-то еще в коде я написал вторую запись
write(2125,'(a16,2es16.8)', rec=2) 'mach_lab =', mach_lab !wladimir
Показать код и нужный результат. –
Вы можете вручную добавить основные строки в строки ... Или используйте ['ADJUSTR'] (https://gcc.gnu.org/onlinedocs/gcc-4.0.0/gfortran/ADJUSTR.html). –
С прямым доступом вам необходимо явно записать символы конца строки в записи. Это 'char (10)', если я помню. Обратите внимание, что вам нужно положить его в конце записи (столбец 100). – agentp