Кажется, это должно быть легко исправить, но после нескольких часов поиска я не могу найти решение.
Я хочу сохранить путь к файлу как символьную переменную, а затем использовать эту переменную в операторе ввода-вывода. Ниже приведен мой код для чтения из файла, определенного «путь к файлу».
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» на экране в качестве механизма отладки (до функции открытия выше), все возвращается «C». Так что по какой-то причине кажется, что я теряю остальную часть пути к файлу. (Я оставлю свои вопросы о том, какой метод косой черты подходит, пока не изучу его подробнее)
Я ценю любые предложения.
Спасибо, Крис