The output from put/2 is buffered first, and is only output to the stream when the output is flushed (e.g. using flush/1).
ASCII codes for the non-printable characters (i.e. control characters) are also acceptable.
Success: [eclipse]: put(output, 0'a). a yes. [eclipse]: sh('cat file1'). a yes. [eclipse]: open(file1,read,s1), > open(file2,write,s2),repeat, > (at_eof(s1)->!, > flush(s2), > close(s1),close(s2) > ; > get(s1,Char), > put(s2,Char), > fail). Char = _g72 yes. [eclipse]: sh('cat file2'). a yes. Error: put(output,A). (Error 4). put(Stream,98). (Error 4). put(output, '98'). (Error 5). put(output, 98.0). (Error 5). put("string" A). (Error 5). put(11,97). (Error 192). % stream not open put(atom,97). (Error 193).