Кажется, это должно быть легко исправить, но после поисков в течение нескольких часов я не могу найти решение.
Я хочу сохранить путь к файлу как символьную переменную, а затем использовать переменную в операторе ввода / вывода. Ниже приведен мой код для чтения из файла, определенного как «filepath».
character:: filepath
filepath='c:\users\chris\...\data.txt'
open(unit=1,file=filepath,status='old',action='read',form='formatted',iostat=ierror)
if(ierror.NE.0)then
print*,'file cannot be opened or does not exist'
read*,
endif
......
Программа компилируется (компилятор gfortran с использованием IDE NetBeans), но при запуске выдает ошибку, выводимую на экран.
Примечание 1: Когда я помещаю путь к файлу непосредственно в функцию открытия, как показано ниже, кажется, что он работает нормально
open(unit=1,file='c:\\Users\\Chris\\...\\data.txt',status='old',action='read',form='formatted',iostat=ierror)
Примечание 2: я пробовал все варианты прямой / обратной, одинарной / двойной косой черты в переменной filepath, поэтому я не думаю, что это проблема. Когда я печатаю «filepath» на экран в качестве механизма отладки (до функции open, описанной выше), все возвращается «C». По какой-то причине кажется, что я теряю остальную часть пути к файлу. (Я оставлю свои вопросы относительно того, какой метод слеша уместен, пока я не исследую его подробнее)
Я ценю любые предложения.
Спасибо,
Chris