Я пытаюсь вывести тривиальное сообщение об ошибке в Fortran90, например так:
error: failed to read '<file>'
Но я не могу понять, как создавать одинарные кавычки, их экранирование приводит к ошибкам компиляции. Я пробовал следующее:
write(*, fmt="('error: failed to read: \'', a, '\'')") arg
Также, если я распечатаю сообщение без них:
write(*, fmt="('error: failed to read: ', a)") file
дополнительный символ новой строки (то есть всего два) создается в командной строке. Я получаю arg
, выполняя call getarg(1, arg)
, возможно, это как-то связано с этим.
Вот минимальный рабочий пример, демонстрирующий проблему перевода строки:
program foo
character(len=100) :: arg
call getarg(1, arg)
write(*, fmt="('error: failed to read: ', a)") arg
end program foo
Я считаю форматированный вывод на фортране очень не интуитивным, если кто-то может дополнительно направить меня к ресурсу, который объясняет это более подробно, и это было бы здорово.