2017-01-12 4 views
2

ли Fortran-совместимых читать ушки-разделителями текстовый файл, как этот:В Fortran я могу рассчитывать при чтении закладками разделителями ASCII файлы с список направленный «читать»

0.11 0.12 0.45 

(где пространство на самом деле вкладка) со списком направленного ввода, как это:

read(11,*) real1,real2,real3 
+0

Близко связанный http://stackoverflow.com/questions/29383838/read-and-write-tab-delimited-text-data –

+0

Определенные, компиляторы обрабатывают вкладку в виде пробела, но вы запрашиваете стандарт. –

+0

Да, он работает с компилятором Intel fortran под окнами. Я хотел знать, переносится ли это. – Lupocci

ответ

2

более интересный вопрос, чем первый взгляд может предложить ...

стандарт предусматривает, что blanks должны быть идентифицированы как разделители значений для ввода списка. В Таблице 3.1 «Специальные символы» (моя версия проекта) стандартное пространство обозначается Blank character, но нет никаких дополнительных объяснений или определения blank. Таким образом, пространство, безусловно, является blankвнутри источника программы Fortran.

Хорошо известно (??), что символ табуляции не является частью набора символов Fortran, а некоторые компиляторы по умолчанию будут помещать его в исходные файлы (внешние контексты символьных переменных). Но я не вижу никого, кто писал компилятор, который не смог бы распознать символ табуляции в качестве пробела для ввода списка списков чисел со списком.

Я думаю, что ответ на этот вопрос

ли не символ табуляции является значение разделителя для ввода списка является процессор зависимым (т.е. осталось до писателя компилятора), поэтому стандарт Безразлично Не оговаривайте, что вы можете полностью полагаться на это поведение.

, но мне будет интересно узнать, что должны сделать юристы на этом языке.

+0

Intel считает вкладку пустой. –

+0

«Дополнительные символы могут быть представлены в процессоре, но могут отображаться только в ... записях ввода/вывода» может быть той, которую вы используете. – francescalus

+0

@francescalus: да, это была бы та часть, которую я пропустил! Редактирование моего ответа. –

 Смежные вопросы

  • Нет связанных вопросов^_^