Next: , Previous: Debugging, Up: Top

16 Input and Output

There are two distinct classes of input and output functions. The first set are modeled after the functions available in Matlab. The second set are modeled after the standard I/O library used by the C programming language and offer more flexibility and control over the output.

When running interactively, Octave normally sends any output intended for your terminal that is more than one screen long to a paging program, such as less or more. This avoids the problem of having a large volume of output stream by before you can read it. With less (and some versions of more) you can also scan forward and backward, and search for specific items.

Normally, no output is displayed by the pager until just before Octave is ready to print the top level prompt, or read from the standard input (for example, by using the fscanf or scanf functions). This means that there may be some delay before any output appears on your screen if you have asked Octave to perform a significant amount of work with a single command statement. The function fflush may be used to force output to be sent to the pager (or any other stream) immediately.

You can select the program to run as the pager by setting the variable PAGER, and you can turn paging off by setting the value of the variable page_screen_output to 0.

— Command: more
— Command: more on
— Command: more off

Turn output pagination on or off. Without an argument, more toggles the current state.

— Built-in Variable: PAGER

The default value is normally "less", "more", or "pg", depending on what programs are installed on your system. See Installation.

When running interactively, Octave sends any output intended for your terminal that is more than one screen long to the program named by the value of the variable PAGER.

— Built-in Variable: page_screen_output

If the value of page_screen_output is nonzero, all output intended for the screen that is longer than one page is sent through a pager. This allows you to view one screenful at a time. Some pagers (such as less—see Installation) are also capable of moving backward on the output. The default value is 1.

— Built-in Variable: page_output_immediately

If the value of page_output_immediately is nonzero, Octave sends output to the pager as soon as it is available. Otherwise, Octave buffers its output and waits until just before the prompt is printed to flush it to the pager. The default value is 0.

— Built-in Function: fflush (fid)

Flush output to fid. This is useful for ensuring that all pending output makes it to the screen before some other event occurs. For example, it is always a good idea to flush the standard output stream before calling input.

fflush returns 0 on success and an OS dependent error value (−1 on unix) on error.