Вопрос про фортран
2945
23
Знатоки фортрана, скажите, пожалуйста, существует ли возможность передачи параметров из командной строки в компилированную под виндами программу?
Т.е. есть exe-файл и нужно из командной строки передать параметры в программу.
Спасибо.
violinist
Start-Run..., выбирается нужная программа и задаются параметры в строчке.
Если запускать постоянно, то создать ярлык на эту программу и в настройках этого ярлыка указать нужные параметры.
violinist
А причем здесь фортран?
ganymed
Товарищи, нет, дело не в этом:
Есть программа на фортране, которая, например, суммирует два числа.
Я хочу, чтобы, написав в коммандной строке,
my_program.exe 5 6
я получил в стандартный вывод
11
Т.е. я умею на фортране суммировать два числа :), но как передать параметры 5 и 6 в программу.
violinist
Так я не понял, а то что я предлагал не проходит?
Ну можно еще запустить саму командную оболочку.
В 2000/ХП - это делается запуском command.
ganymed
Автору топика.
Я понял суть твоего вопроса. Какая процедура/Функция в фортрановской программе выдергивает параметры из командной строки, так что-ли?
violinist
А что трудно у гугла спросить? Я вот фортрана не знаю совсем. Запустил в поиске вот такую строку
Fortran command line arguments
получил сразу ссылку
http://www.ac3.edu.au/hints/node11.html
Там все коротко и ясно написано.
Делов - 1 минута. Ответ дольше писал.
А самому лень было?
Уже не один день вопрос висит ...
violinist
Ну тогда понятно.
Действительно про подобные вещи можно много чего найти в Инете.
:ухмылка:
Спасибо.
Просто, наверное не всем дано сразу находить....
violinist
Знаете, но ведь функцией getarg передаются только строковые (character) переменные, а надо числовые (float, integer)...
violinist
Знаете, но ведь функцией getarg передаются только строковые (character) переменные, а надо числовые (float, integer)...
преобразование типов отменили?
Ну преобразование типов это из другой песни.
Тут нужны функции конвертирующие строку в число.

2 violinist
советую опять же воспользоваться гуглом. http://www.google.com

Гугл - рулез!:)
Ну преобразование типов это из другой песни.
Тут нужны функции конвертирующие строку в число.
мда?
string->float - другая песня?
мда?
string->float - другая песня?
абсолютно
violinist
позвольте спросить, зачем вам это надо?
не проще все делать через файл данных?

а то у меня друган биллинг на фортране писал, изврат имхо
buzjura
Мне нужно сделать ввод параметров через форму в html-странице в программу, написанную на фортране . Я делаю предобработку данных из формы на php, а затем хочу запустить из php программу на фортране с некоторыми параметрами. Вопрос в передаче параметров в exe-шную программу, скомпилированную с фортрана. Например, в программе надо сложить два числа: я хочу написать в php: passthru('my_program.exe 5 6') и получить в стандартный вывод 11.
Через файл данных поэтому и не хочется делать - не создавать же для каждого запроса файл данных. Должен быть путь проще, но в документации по фортрану преобразования string->float нет.
violinist
Млин, ну сам напиши процедуру преобразования. Не так уж и сложно. :спок:
violinist
хрен его знает, лет 15 уже фортраном занимаюсь, а с такой проблемой первый раз встречаюсь
violinist
Посмотри здесь
http://www.physics.drexel.edu/courses/Comp_Phys/General/f2c.html
Секция Command line
Должно все стать понятно.

> Должен быть путь проще, но в документации по фортрану преобразования string->float нет.
Я так понял в фортране есть аналог сишной функции sscanf которая наывается read - я думаю то что надо.
Дело в том, что read читает из стандартного входа, а не из коммандной строки. Вот в чём проблема...
Да, вообще-то всё получилось - read ещё и позволяет преобразовывать типы. Круто.
Спасибо большое!!!
violinist
Точно-точно?
Или read может по разному читать?
Не зря же в доке которую я дал (по линку) он напротив sscanf расположен. Насколько я понял если первый аргумент * то с консоли, если число то с файла, где число есть номер дескриптора этого файла, если строковое значение то со строки. Хотя могу ошибаться, я фортрана не знаю.

> Дело в том, что read читает из стандартного входа, а не из коммандной строки
Что значит из командой строки?
Уже вроде выяснили что из командной строки можно последовально получить все параметры в виде символьных значений. Это кстати и в других языках так же. А потом эти значения конвертировать туда куда нужно.
violinist
А, ну вот и ладушки:)