Я написал код FORTRAN 77, который открывает (создает) файл и записывает в него некоторую информацию. Все отлично работает, если я открываю файл, например
INTEGER U
U=1
OPEN(U, FILE='data.txt')
Но если я хочу, чтобы файл был создан в другом каталоге с указанием относительного пути (ОС Ubuntu)
INTEGER U
U=1
OPEN(U, FILE='../output_files/data.txt')
мой компилятор gfortran выдает следующую ошибку:
OPEN(U,FILE='../output_files/data.txt')
1
Error: Invalid value for FILE specification at (1)
Похоже, что абсолютный путь работает в моем случае. Я провел некоторое время, изучая Интернет, и обнаружил, что в каждом руководстве, которое я просматривал, говорилось, что относительный путь также должен работать. Это важно для меня. Можно ли это как-то исправить?
Обновлять
Настоящий код, который я использовал,
INTEGER U
U=1
OPEN(U, FILE='output_files/energies_and_first_interaction_coordinates_mum.txt')
и ошибка
OPEN(U,FILE='output_files/energies_and_first_interaction_coordinates_mum.txt')
1
Error: Invalid value for FILE specification at (1)
Код в том виде, в котором он представлен, в порядке. Как предполагает @francescalus, это почти наверняка указывает на то, что фактическая строка рассматриваемого кода выходит за пределы 72 символов.
Кажется, имя слишком длинное. Я новичок в Фортране, поэтому не знал дела, спасибо.
@Sentenza: Пожалуйста, обновите вопрос, указав фактический код, чтобы он мог быть полезен другим. И, как только это будет сделано, вы можете поместить свое редактирование «РЕШЕНО» в качестве ответа (здесь можно отвечать на свои вопросы) и принять его в качестве ответа. Таким образом, люди, просматривающие сайт, увидят, что на этот вопрос был дан ответ.
Я нашел решение благодаря francescalus и L. Scott Johnson. Проблема заключалась в том, что команда для открытия файла была расширена за пределы 72 позиции в строке (имя моего файла было слишком длинным).
Пожалуйста, покажите нам полный компилируемый пример (минимальный воспроизводимый пример), чтобы мы могли его посмотреть. Так как это не полный пример, мне придется догадаться, что нужно проверить: вы уверены, что строка не слишком длинная?