terminat0r
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору karakurt2 Цитата: Можно полюбопытствовать, если во входной последовательности задаются номера устойства ввода, путь к файлу, и флаги для инструкции OPEN языка Fortran, почему бы не сделать разбор параметров средствами Fortran? Уверен, это будет выглядеть не менее красиво, да и избавились бы от необходимости передачи параметров между модулями, написанными на разных языках. | Спасибо за участие, у меня есть функция разбора файла на фортране. Выглядит она именно так как Вы говорите- кратко и красиво. Весь пакет программ (независимо от языка программирования) должен иметь однотипные файлы ввода параметров. И новая программа пишется на C++ (на то есть важные причины). Поэтому и вопрос стоит - сделать это именно на C++ (и так же кратко и красиво) Цитата: числа никак не интерпретируются, просто из входного потока вырезается всё после восклицательного знака до конца строки. | Вы меня уже совсем за ньюбика принимаете? Я хорошо понял что сделано в коде, поэтому я спросил как бы человек (с заметным опытом програм. в C++) сделал дальше с пом. того же C++. Готов выслушать и Ваши предложения. mrherbrooks Цитата: я, к сожалению, не знаком с файловым вводом выводом на Fortran'e, но сомневаюсь в его равенстве с возможностями stl и boost. Как бы не пришлось собирать свой велосипед. | Знак ! в фортране переводит чтение потока автоматически на след строку- т.е. все комментарии игнорируются, поэтому код там очень простой. Цитата: С одной стороны можно отделаться stl (в приведенном мною примере), с другой стороны подключить уже boost::spirit + boost::lexical_cast. | Спасибо, посмотрю. Цитата: я бы на вашем месте заполнял бы его блоками идентичных типов. | В принципе порядок параметров можно и поменять. Хотя сейчас в них другая логика- они сгруппированы по физическим свойствам, что намного важнее для пользователей, которые заполняют эти файлы. Надо подумать. Еще раз спасибо! | Всего записей: 2084 | Зарегистр. 31-03-2002 | Отправлено: 13:23 28-01-2010 | Исправлено: terminat0r, 13:31 28-01-2010 |
|