The filedescriptor class provides methods for generic input and output to file descriptors. Rudiments pre-defines three instances: stdinput, stdoutput and stderror, which provide access to standard input, standard output and standard error.
As these classes are ultimately instances of the filedescriptor class, many I/O methods are available, but the most commonly used are read(), write() and printf(). The printf() method features all of the formatting capabilities of the standard C printf() function.
#include <rudiments/stdio.h>
int main(int argc, const char **argv) {
// standard output...
stdoutput.write("This line is written to standard output.\n");
stdoutput.write("Fully functional printf is also available: ");
stdoutput.printf("%s, %c, %05d\n", "hello",'c',25);
stdoutput.write('\n');
// standard error...
stderror.write("This line is written to standard error.\n");
stderror.write("Fully functional printf is also available: ");
stderror.printf("%s, %c, %05d\n", "hello",'c',25);
stderror.write('\n');
// standard input...
stdoutput.write("Type something and hit return...\n");
char input[1024];
ssize_t count=stdinput.read(input,sizeof(input));
input[count]='\0';
stdoutput.printf("You typed: %s\n",input);
}