<html lang="en"> <head> <title>Variable FORMAT expressions - The GNU Fortran Compiler</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="The GNU Fortran Compiler"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran" title="Extensions not implemented in GNU Fortran"> <link rel="prev" href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements" title="ENCODE and DECODE statements"> <link rel="next" href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax" title="Alternate complex function syntax"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being ``Funding Free Software'', the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled ``GNU Free Documentation License''. (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development.--> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Variable-FORMAT-expressions"></a> <p> Next: <a rel="next" accesskey="n" href="Alternate-complex-function-syntax.html#Alternate-complex-function-syntax">Alternate complex function syntax</a>, Previous: <a rel="previous" accesskey="p" href="ENCODE-and-DECODE-statements.html#ENCODE-and-DECODE-statements">ENCODE and DECODE statements</a>, Up: <a rel="up" accesskey="u" href="Extensions-not-implemented-in-GNU-Fortran.html#Extensions-not-implemented-in-GNU-Fortran">Extensions not implemented in GNU Fortran</a> <hr> </div> <h4 class="subsection">6.2.3 Variable <code>FORMAT</code> expressions</h4> <p><a name="index-g_t_0040code_007bFORMAT_007d-329"></a> A variable <code>FORMAT</code> expression is format statement which includes angle brackets enclosing a Fortran expression: <code>FORMAT(I<N>)</code>. GNU Fortran does not support this legacy extension. The effect of variable format expressions can be reproduced by using the more powerful (and standard) combination of internal output and string formats. For example, replace a code fragment like this: <pre class="smallexample"> WRITE(6,20) INT1 20 FORMAT(I<N+1>) </pre> <p class="noindent">with the following: <pre class="smallexample"> c Variable declaration CHARACTER(LEN=20) FMT c c Other code here... c WRITE(FMT,'("(I", I0, ")")') N+1 WRITE(6,FMT) INT1 </pre> <p class="noindent">or with: <pre class="smallexample"> c Variable declaration CHARACTER(LEN=20) FMT c c Other code here... c WRITE(FMT,*) N+1 WRITE(6,"(I" // ADJUSTL(FMT) // ")") INT1 </pre> </body></html>