fiopen — Opens a file in a specific mode.


fiopen can be used to open a file in one of the specified modes.


ihandle fiopen ifilename, imode


ihandle -- a number which specifies this file.

ifilename -- the target file's name (in double-quotes).

imode -- choose the mode of opening the file. imode can be a value chosen among the following:

  • 0 - open a text file for writing

  • 1 - open a text file for reading

  • 2 - open a binary file for writing

  • 3 - open a binary file for reading


fiopen opens a file to be used by the fout family of opcodes. It is safer to use it in the header section, external to any instruments. It returns a number, ihandle, which unequivocally refers to the opened file.

If fiopen is called on an already open file, it just returns the same handle again, and does not close the file.

Notice that fout and foutk can use either a string containing a file pathname, or a handle-number generated by fiopen. Whereas, with fouti and foutir, the target file can be only specified by means of a handle-number.


Here is an example of the fiopen opcode. It uses the file fiopen.csd. Note that the example must be run from a directory for which the user has write access.

Example 310. Example of the fiopen opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o fiopen.wav -W ;;; for file output any platform

sr = 44100 
ksmps = 32 
nchnls = 2 
0dbfs  = 1 

gihand fiopen "test1.txt", 0 

instr 1

ires  random  0, 100
      fouti gihand, 0, 1, ires 
      ficlose gihand 


i 1 0 1 


See also

File Input and Output


Author: Gabriel Maldonado

New in Csound version 3.56