Previous: The Powers Of Two, Up: File Library Examples
We will now proceed with something that many will find disturbing: we will reverse the words within lines. And to make this project even more challenging we shall create a filter, one that filters the standard input on the standard output.
First, we declare two files, one for input, one for output, and some list (we deploy the `f_list' function):
file source, target; list l;
Open that standard input:
f_open(source, "/dev/stdin", OPEN_READONLY, 0);
And that standard output:
f_open(target, "/dev/stdout", OPEN_WRITEONLY, 0);
And waste no time in reversing those words, all of them:
while (f_list(source, l, 0) != -1) {
mode i;
i = l_length(l);
while (i) {
if (i != l_length(l)) {
f_byte(target, ' ');
}
i = i - 1;
f_text(target, l_q_text(l, i));
}
f_byte(target, '\n');
}
We bother to close output:
f_close(target);
And input:
f_close(source);
Now, that's programming!