MP0 Q&A

How to write to standard error?

This is the easiest one. Of course, there are alternatives.

fprintf(stderr, "error\n");

Good compilation practices

With -Wall option, GCC compiler produces warnings about constructions that some users consider questionable. This helps avoiding bugs in your code.

gcc -o char_count char_count.c -Wall

How to terminate your program if it hangs

Press ^C (Ctrl-C) or ^\ (Ctrl-\). The process will receive SIGINT or SIGQUIT signal. If neither of these works, start another terminal and run killall -KILL char_count.

How to generate input for testing

yes, head, tail, grep, shuf commands are friends. See manpages for detailed usage. For example, man yes shows to manual for yes command.

To test a file with 1000 line of text,

yes | head -n 1000 > FILE.txt
./char_count "ab c" FILE.txt

To feed your program with infinitely many lines,

yes | ./char_count