To do input or output on a file or device you must first open the file or device, then use the routines
below to read or write to it, then close the file or device.
open() returns a file number to use as the first argument of the other I/O routines.
Certain files/devices are opened for you automatically (as text files):
-
0 - standard input
-
1 - standard output
-
2 - standard error
Unless you redirect them on the command-line, standard input comes from
the keyboard, standard output and standard error go to the screen. When
you write something to the screen it is written immediately without
buffering. If you write to a file, your characters are put into a buffer
until there are enough of them to write out efficiently. When you
close()
or
flush() the file or device, any
remaining characters are written out. Input from files is also buffered.
When your program terminates, any files that are still open will be
closed for you automatically.
open
|
- |
open a file or device |
close
|
- |
close a file or device |
flush
|
- |
flush out buffered data to a file or device |
puts
|
- |
output a string to a file or device |
printf
|
- |
formatted print to a file or device |
sprintf
|
- |
formatted print returned as a string |
print
|
- |
print a phix object with {,,} to show the structure |
sprint
|
- |
return a printed phix object as a string |
? x
|
- |
shorthand for print(1, x) |
getc
|
- |
read the next character from a file or device |
gets
|
- |
read the next line from a file or device |
get_text
|
- |
read a whole text file as a single string or sequence of lines |
seek
|
- |
move to any byte position within an open file |
where
|
- |
report the current byte position in an open file |
lock_file
|
- |
lock a file or device |
unlock_file
|
- |
unlock a file or device |
get_key
|
- |
check for key pressed by the user, do not wait
|
wait_key
|
- |
wait for user to press a key |
dir
|
- |
return complete info on all files in a directory |
walk_dir
|
- |
recursively walk through all files in a directory |
current_dir
|
- |
return the name of the current directory |
chdir
|
- |
change to a new current directory |
allow_break
|
- |
allow control-c/control-Break to terminate your program or not |
check_break
|
- |
check if user has pressed control-c or control-Break |