resource fileIO() var infile_name, outfile_name : string[64] var infile, outfile : file var line : string[256] infile_name := "infile"; outfile_name := "outfile" getarg(1, infile_name); getarg(2, outfile_name) infile := open(infile_name, READ) if infile = null -> write(stderr, "cannot open", infile_name, "for reading"); stop fi outfile := open(outfile_name, WRITE) if outfile = null -> write(stderr, "cannot open", outfile_name, "for writing"); stop fi do read(infile, line) != EOF -> write(outfile, line) od end fileIO /* ............... Example compile and run(s) % sr -o fileIO fileIO.sr % cat >infile This is a test input file. ^D % ./fileIO % ls -l infile outfile -rw-r--r-- 1 shartley 27 Jul 7 13:57 infile -rw-r--r-- 1 shartley 27 Jul 7 13:58 outfile % ./fileIO fileIO.sr out % ls -l fileIO.sr out -rw-r--r-- 1 shartley 704 Jul 7 10:55 fileIO.sr -rw-r--r-- 1 shartley 704 Jul 7 13:58 out % ./fileIO nofile discard cannot open nofile for reading % ls -l nofile discard nofile not found discard not found */